MySQL主從復制斷開恢復過程


新接手一個項目,但該項目的mysql數據庫主從復制出現故障,之前項目負責人未解決,也是接手過來遇到的第一個坑,網上跳過錯誤的方式並沒有解決該問題,故決定重做主從,恢復全量數據。

 一、備份主庫數據

mysqldump --socket=/var/lib/mysql/mysql.sock --single-transaction --master-data=2 -uuser -ppasswd -h xxx.xxx.xxx.xxx --all-databases > dbbak_20220318.sql

數據量很大,備份前需注意剩余空間大小,把備份好的數據傳到從庫主機

 二、從庫恢復數據

登上從庫執行:source /testfile/dbbak_20220318.sql

執行時間根據數據量的多少還有機器配置,我這20多G執行了40分鍾左右

確認master備份數據最后的mysql-bin和pos信息:

 三、主從同步

1、停止slave

stop slave;

2、同步數據

change master to master_host='xxx.xxx.xxx.xxx',master_user='user',master_password='passwd',master_port=3306,master_log_file='master-bin.000678',master_log_pos=587219620,master_connect_retry=30;

3、啟動slave

start slave;

4、檢測主從同步狀態

show slave status\G

 四、mysqldump參數說明

--socket、-u、-p、-h:指定mysql的sock文件、用戶名、密碼、主機地址
--single-transaction:保證一個事務中所有相同的查詢讀取到同樣的數據,其他innodb引擎的線程修改了表的數據並提交,對該dump線程的數據並無影響,不會鎖表
--master-data=2:對於生成的sql文件產生備份時刻的mysql-bion的信息和pos信息
--all-databases:備份全庫 

 

【參考:https://blog.csdn.net/qq_35767346/article/details/88947412】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM