如何將mysql運行在非默認目錄(/usr/local/mysql)中

本文以新加一個mysql實例爲例。例如服務器上已經安裝了3306端口的mysql服務,需要再啓一個3308端口的mysql服務。

   假設mysql安裝在/usr/local/mysql路徑下,找一個磁盤空間剩餘比較大的盤,如/data1,把3308端口的mysql的數據保存在/data1下
#mkdir /data1/mysql_3308
#mkdir /data1/mysql_3308/data
#chown -R mysql:mysql /data1/mysql_3308
 
   複製一個mysql配置文件my.cnf到/data1/mysql_3308目錄下
#vi /data1/mysql_3308/my.cnf
修改配置文件,將端口和相關目錄的都改爲新的設置,如下:
[client]
character-set-server = utf8
port    = 3308
socket  = /tmp/mysql_3308.sock

[mysqld]
user    = mysql
port    = 3308
socket  = /tmp/mysql_3308.sock
basedir = /usr/local/mysql
datadir = /data1/mysql_3308/data
log-error = /data1/mysql_3308/mysql_error.log
pid-file = /data1/mysql_3308/mysql.pid
......其他略

  確保配置文件無誤。
運行下面命令進行數據庫的初始化:
#/usr/local/mysql/bin/mysql_install_db --defaults-file=/data1/mysql_3308/my.cnf --datadir=/data1/mysql_3308/data

完成後新的3308數據庫就初始化好了,如果有報錯,則按照報錯的提示查看報錯日誌,一般情況下都是my.cnf配置文件的問題,修正後即可。

二、啓動新mysql
啓動3308端口的mysql服務
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/data1/mysql_3309/my.cnf &
檢查是否啓動
#ps aux|grep mysql
如果有3308字樣說明已經啓動成功
可將啓動命令加入/etc/rc.local隨服務器啓動

新加的mysql沒有設置root密碼,可以通過下面命令設置root密碼:
#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new-password'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章