需求:MySQL數據庫文件原位置:/var/lib/mysql 要移動至:/data/mysql
一、首先在/data目錄下建立一個名爲:mysql_data的文件名:
sql
# mkdir /data/mysql_data # chown -R mysql:mysql /data/mysql_data # chmod -R 755 /data/mysql_data
二、中止全部MySQL服務:
數據庫
# service httpd stop # service mysqld stop # netstat -an |grep 3306 //查看mysql服務是否已經中止
三、拷備/var/lib/mysql下所的文件到/data/目錄下:
vim
# mv /var/lib/mysql /data/mysql_data
四、修改配置文件:
bash
# vim /etc/my.cnf [mysqld] #datadir=/var/lib/mysql //原路徑 datadir=/data/mysql_data/mysql //修改後的路徑 #socket=/var/lib/mysql/mysql.sock //原sock路徑 socket=/data/mysql_data/mysql/mysql.sock //修改後的sock路徑 user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
五、修改啓動腳本:
socket
# vim /etc/init.d/mysqld #get_mysql_option mysqld datadir "/var/lib/mysql" //原sock路徑 get_mysql_option mysqld datadir "/data/mysql_data/mysql" //修改後的sock路徑
六、啓動MySQL服務:
ide
# service mysqld start # service httpd start # mysql -uroot -p //測試是否能夠正常登陸; ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) //若是出現該錯誤,請執行如下操做: # ln -s /data/mysql_data/mysql/mysql.sock /var/lib/mysq/mysql.sock
七、執行完以上操做,數據庫文件的遷移工做就已經作完了。測試
八、若是進行zabbix報錯或表顯示不正常,查看下Mysql日誌,看看是否是表在移動時壞掉了,若是是表壞了,進入mysql中使用如下語句修復下表,就OK了
日誌
#service zabbix_server stop //關閉zabbix服務 mysql> use zabbix; mysql> repair table 表名; //修復表 bye # service zabbix_server start # service zabbix_server status