linux 更改mysql的數據庫目錄


MYSQL默認的數據文件存儲目錄為/var/lib/mysql。假如要把目錄移到/home/data下需要進行下面幾步:

1、home目錄下建立data目錄

cd /homemkdir data
2、把MySQL服務進程停掉: 

mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個目錄移到/home/data

mv /var/lib/mysql /home/data/
這樣就把MySQL的數據文件移動到了/home/data/mysql下

4、找到my.cnf配置文件

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

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、編輯MySQL的配置文件/etc/my.cnf

為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock 。操作如下:

vi  my.cnf  (用vi工具編輯my.cnf文件,找到下列數據修改之)# The MySQL server[mysqld]  port = 3306#socket  = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用“#”注釋此行)socket  = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL啟動腳本/etc/init.d/mysql

最后,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql#datadir=/var/lib/mysql(注釋此行)datadir=/home/data/mysql (加上此行)

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

最后 做一個mysql.sock 鏈接:
in -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

7、重新啟動MySQL服務
/etc/init.d/mysqld start

或用reboot命令重啟Linux

如果工作正常移動就成功了,否則對照前面的7步再檢查一下。還要注意目錄的屬主和權限。 
復制內容到剪貼板

代碼:

[root@sample ~]# chown -R mysql:mysql /home/data/mysql/  ← 改變數據庫的歸屬為mysql

[root@sample ~]# chmod 700 /home/data/mysql/test/  ← 改變數據庫目錄屬性為700

[root@sample ~]# chmod 660 /home/data/mysql/test/*  ← 改變數據庫中數據的屬性為660

 

錯誤解決方案:

1.在CentOS上,如果mysql是通過yum安裝的,那么可能使用上面的方法不能完全湊效。

原因:mysql的配置文件有多處,除了更改/etc/my.cnf文件之外,還需要更改/usr/lib64/mysql/mysql_config

這個文件里面有一行“ldata='/var/lib/mysql'”和"socket=/var/lib/mysql/mysql.sock",這里也需要改掉

 

2.另外,還有權限問題,查看/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

 

參考鏈接:

http://topic.csdn.net/u/20100720/10/d16e346f-c347-4428-8ad4-52476996a3f5.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM