在數據庫遷移的過程中,可能需要將MySQL的數據目錄也一并遷移。但是,當主從復制關系已經建立時,就需要特別注意遷移后的主從復制關系問題。
具體操作如下:
# 停止主庫和從庫 $ service mysql stop $ service mysql-slave stop # 拷貝數據目錄 $ cp -a /var/lib/mysql /new/data/path # 修改主庫和從庫的my.cnf配置文件,將數據目錄修改為新的目錄 $ vi /etc/my.cnf datadir=/new/data/path # 啟動主庫,確認數據無誤后啟動從庫 $ service mysql start $ service mysql-slave start
在遷移MySQL數據目錄后,需要重新搭建主從復制關系,具體操作如下:
# 在主庫中執行如下語句 $ mysql -u root -p mysql>GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'password'; mysql>FLUSH PRIVILEGES; mysql>FLUSH TABLES WITH READ LOCK; mysql>SHOW MASTER STATUS; # 記錄 File 和 Position,用于在從庫中配置主從復制關系 # 在從庫中執行如下語句 $ mysql -u root -p mysql>CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='slave', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.xxxxxx', MASTER_LOG_POS=xxx; mysql>START SLAVE; # 如果一切正常,從庫應該能夠成功連接到主庫并開始同步數據。
通過以上步驟,我們可以輕松地將MySQL的數據目錄遷移至新的位置,并且還能夠重新搭建主從復制關系。在具體操作時,需要特別注意數據的備份、恢復以及主從復制關系的配置。