很多時候,mysql的數據會非常大,所以我們需要更改mysql數據存放的路徑,把數據遷移到大的分區下
首先應該停掉mysql服務
#service mysqld stop
2.查看一下那個分區的磁盤空間比較大
#df -h
3.將當前的mysql data目錄遷移到目標目錄下
#cp -a mysql /home/mysql_data/ ##將當前目錄下的mysql目錄複製到/home/mysql_data中 -a表示他的權限也被複制過去了 當然也可以用mv進行移動,但別忘了給他進行賦權
4.修改mysql.ini配置
#vi /etc/my.cnf
修改
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
為
datadir=/home/mysql_data/mysql
socket=/home/mysql_data/mysql/mysql.sock
修改client模塊
[client]
socket=/home/mysql_data/mysql/mysql.sock
5.當時我在做到這裡的時候以為已經沒問題了但是在啟動鏈接mysql服務的時候出現了錯誤
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
在我查閱資料後發現少了一步那就是為mysql.sock加個連接
#ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock即可
6.因為mysql有tcp連接和socket連接方式,而上面這種錯誤一般是因為mysql是使用rpm方式安裝的,它會自動尋找 /var/lib/mysql/mysql.sock 這個文件,是一種socket連接方式。