1. 程式人生 > >mysql 更改預設資料目錄

mysql 更改預設資料目錄

本文主要介紹在CentOS下通過yum命令安裝MySQL之後,如何移動預設資料目錄到指定位置。

安裝mysql:

yum -y install mysql-server mysql-client

Mysql 安裝之後預設的資料檔案儲存目錄為/var/lib/mysql。

假如要把目錄移到/home/data下需要進行下面幾步:

1、home目錄下建立data目錄

cd /home

mkdir data

2、把MySQL服務程序停掉:

service mysqld stop

3、把/var/lib/mysql 整個目錄移到 /home/data

mv /var/lib/mysql /home/data/

這樣就把MySQL的資料檔案移動到了/home/data/mysql下

然後再次建立一個新的空目錄,並製作一個軟連線到新的sock路徑:

mkdir /var/lib/mysql

ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

4、vim /etc/my.cnf

如果/etc/目錄下沒有my.cnf配置檔案,請到/usr/share/mysql/下找到*.cnf檔案,拷貝其中一個到/etc/並改名為my.cnf。

為保證MySQL能夠正常工作,需要指明mysql.sock檔案的產生位置。修改

datadir=/home/data/mysql

socket=/home/data/mysql/mysql.sock 

5、vim /etc/init.d/mysqld

datadir=/home/data/mysql

如果是CentOS還要改 /usr/bin/mysqld_safe 相關檔案位置;

6、vim /usr/lib64/mysql/mysql_config

我發現:vi /usr/bin/mysql_config-64

socket='/home/data/mysql/mysql.sock'

ldata='/home/data/mysql'

7、重新啟動MySQL服務

service mysqld start

如果工作正常移動就成功了,否則對照前面的7步再檢查一下。

另外還要注意目錄的屬主和許可權,程式碼如下:

chown -R mysql:mysql /home/data/mysql/

chmod 700 /home/data/mysql/test/

chmod 660 /home/data/mysql/test/*

自己:chmod 700 /home/data/mysql/test/

最後,檢視日誌/var/log/mysqld.log,如果發現Can't create test file /xxx/mysql/centos5.lower-test

這裡是因為沒有許可權建立或讀取檔案。

解決辦法就是使用setenforce 0 這個命令,讓系統關閉許可權校驗,然後再執行命令 service mysqld start 發現OK了。

另外一個辦法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysql