MySQL移動數據庫位置

需求: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
相關文章
相關標籤/搜索