1. 程式人生 > >CentOS下mysql數據庫data目錄遷移

CentOS下mysql數據庫data目錄遷移

-- 由於 網站 修改 itl php.ini clas sock 使用

公司新上線一個資訊網站,獨立主機,raid5,lamp架構。由於資訊網是面向小行業,初步估計一兩年內訪問量壓力不大,故,在做服務器系統搭建的時候,只是簡單分出一個獨立的data區作為數據庫和網站程序的專區,其他按照linux的默認分區。apache,mysql,php均使用yum安裝(也嘗試過獨立編譯安裝,但現實使用中,發現不如yum方便快捷,當然如果是大型應用型網站,估計就不是簡單的yum了)

由於yum安裝mysql的時候,數據庫的data目錄默認是在/var/lib下,出於數據安全性的考慮把它挪到/data分區。步驟如下:

1、關閉apache和mysql.

service httpd stop
service mysqld stop




2、將/var/lib下的mysql目錄mv(移動)到data目錄。為什麽要用mv命令,而不用cp命令呢?應為linux文件系統特殊性,mv命令能保留文件的所有屬性和權限,尤其是selinux屬性。如果用cp命令,就需要回頭再去設置mysql文件夾的selinux屬性,本人因很頭疼selinux故能避則避。


mv  /var/lib/mysql /data/mysql

3、修改mysql配置文件/etc/my.cnf。將datadir和socket的路徑改為/data目錄下。



[mysqld]
#datadir=/var/lib/mysql                      ------原系統默認路徑
datadir=/data/mysql      ------現有路徑
#socket=/var/lib/mysql/mysql.sock            ------原socket路徑現
socket=/data/mysql/mysql.sock                ------現有路徑

[mysqld_safe]
socket=/data/mysql/mysql.sock                 -----現有路徑
[client]
socket=/data/mysql/mysql.sock                 -----現有路徑
[mysql.server]
socket=/data/mysql/mysql.sock                 -----現有路徑

4、修改php配置文件(/etc/php.ini)中的socket路徑。沒錯,千萬不要忘記了php.ini裏也要指明socket的路徑,否則php網站會無法連接到數據庫的。php.ini裏默認socket路徑是空的,默認是指向/var/lib/mysql,所以也要改為/data/mysql.

[mysql]
mysql.default_socket = /data/mysql/mysql.sock

[mysqli]

mysql.default_socket = /data/mysql/mysql.sock

5、重啟apache.mysql.

大功告成!!!

CentOS下mysql數據庫data目錄遷移