由於yum安裝mysql的時候,資料庫的data目錄預設是在/var/lib下,出於資料安全性的考慮需要把它挪到/data分區。步驟如下:
一、關閉apache和mysql.
複製代碼 代碼如下:
service httpd stop
service mysqld stop
二、將/var/lib下的mysql目錄mv(移動)到data目錄。
為什麼要用mv命令,而不用cp命令呢?應為linux檔案系統特殊性,mv命令能保留檔案的所有屬性和許可權,尤其是selinux屬性。如果用cp命令,就需要回頭再去設定mysql檔案夾的selinux屬性,本人因很頭疼selinux故能避則避。
複製代碼 代碼如下:
mv -R /var/lib/mysql /data/mysql
三、修改mysql設定檔/etc/my.cnf。將datadir和socket的路徑改為/data目錄下。
複製代碼 代碼如下:
[mysqld]
#datadir=/var/lib/mysql ------原系統預設路徑
datadir=/home/mysql ------現有路徑
#socket=/var/lib/mysql/mysql.sock ------原socket路徑現
socket=/home/mysql/mysql.sock ------現有路徑
[mysqld_safe]
socket=/home/mysql/mysql.sock -----現有路徑
[client]
socket=/home/mysql/mysql.sock -----現有路徑
[mysql.server]
socket=/home/mysql/mysql.sock -----現有路徑
四、修改php設定檔(/etc/php.ini)中的socket路徑。
沒錯,千萬不要忘記了php.ini裡也要指明socket的路徑,否則php網站會無法串連到資料庫的。php.ini裡預設socket路徑是空的,預設是指向/var/lib/mysql,所以也要改為/data/mysql.
複製代碼 代碼如下:
[mysql]
mysql.default_socket = /home/mysql/mysql.sock
[mysqli]
mysql.default_socket = /home/mysql/mysql.sock
五、啟動apache.mysql.
複製代碼 代碼如下:
service httpd start
service mysqld start