mysql主從-熱添加從庫

kailon 8年前發布 | 9K 次閱讀 MySQL 數據庫服務器

來自: http://my.oschina.net/swingcoder/blog/619074


為了盡量減少對業務的影響,使用從某臺從庫熱拷貝數據的方法來添加從庫。此種方法優點是比較快速。在運營環境選擇閑時操作。

添加從庫的步驟

0、新的從庫安裝好,不要啟動和初始化數據,其數據和配置將從舊的從庫復制過去

1、將主庫置于只讀狀態,不允許寫入

flush  tables with read lock;

#這步會影響業務,如果關系不大可執行。一般情況不能只開主庫不開從庫同步,因為應用層一般會去從庫取數據,如果沒有同步,取不到數據,會導致業務混亂!為安全起見,可以臨時鎖表或業務下線,徹底斷絕新數據的更新。

2、將從庫停止同步

stop slave;

3、對從庫數據庫打包

tar -zcvf mysql-data.tar.gz mysql/

#注意!!如果壓縮很慢,或出現壓縮時文件有修改,則不要再壓縮了,因為數據有變化,請檢查上面的步驟是否徹底關掉了數據寫入的可能。ib_logfile0 有變動好像沒有影響。

4、將打包文件傳輸到另外一臺機器

scp mysql-data.tar.gz x.x.x.x:/data/mysql

將從庫的my.cnf傳到新的從庫(注意新的從庫安裝了mysqld,但不要啟動),在新的從庫修改my.cnf里的server_id參數

scp /etc/my.cnf x.x.x.x:/etc/

5、恢復主庫讀寫狀態

unlock tables;

6、恢復其他從庫同步進程

start slave

7、配置新的從庫

刪除 mysql/auto.conf文件,里面標識了從庫uuid

8、啟動新的從庫

service mysqld start

mysql>show slave status\G

檢查是否正常。對比master 的log position與從庫的Exec_Master_Log_Pos是否一致。

 本文由用戶 kailon 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!