背景
生產(chǎn)環(huán)境上的主從集群,因?yàn)橐恍┊惓T颍瑢?dǎo)致主從同步失敗?,F(xiàn)記錄下通過重做mysql從庫的方式來解決,重做過程不影響主庫。
步驟
1、在主庫上的操作步驟
-
備份主庫所有數(shù)據(jù),并將dump.sql文件拷貝到從庫/tmp目錄
-
mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=1 --all-databases > dump.sql
備注:
- 如果出現(xiàn)報(bào)錯(cuò)`Can't connect to local MySQL server through socket`
可以執(zhí)行netstat -ln | grep ?mysql命令查看mysql socket的地址
需要添加參數(shù) --socket=/u/mysql/tmp/mysql.sock 再次執(zhí)行即可
mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=1 --all-databases --socket=/u/mysql/tmp/mysql.sock > dump.sql
-
--single-transaction
參數(shù)是mysqldump在全量數(shù)據(jù)導(dǎo)入是對(duì)鎖的一些處理,都應(yīng)該加上該參數(shù) -
--master-data=1
參數(shù)是在備份文件中有?CHANGE MATER TO xxxxx
命令,對(duì)備庫有用,默認(rèn)值為1,如果為2,就是把該條語句注釋了。
-
2、在從庫的操作
-
通過mysql-client使用root用戶登錄上mysql
-
停止從庫:
stop slave;
-
重置從庫:
reset slave all;
-
導(dǎo)入主庫的數(shù)據(jù):
source /tmp/dump.sql;
-
查看dump.sql文件里面主庫同步的位點(diǎn):
- 然后在從庫執(zhí)行
CHANGE MASTER TO MASTER_HOST='XXXXX',MASTER_USER='REPL',MASTER_PASSWORD='XXXX',MASTER_LOG_FILE='mysql-bin.002029',MASTER_LOG_POS=486015475;
- 假如需要舊用戶密碼忘記了,可以新建用戶和密碼作為主從復(fù)制的用戶
#登錄 MySQL 主庫,創(chuàng)建用于復(fù)制的賬號(hào)并授權(quán): ``` mysql -u root -p ``` ``` CREATE USER 'replication'@'從庫IP地址' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'從庫IP地址'; FLUSH PRIVILEGES;
- 在從庫上再次執(zhí)行
#在從庫上登錄 MySQL,并執(zhí)行以下命令: ``` mysql -u root -p ``` ``` CHANGE MASTER TO MASTER_HOST='主庫IP地址', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='主庫的binlog文件名', MASTER_LOG_POS=主庫的binlog位置;
-
開啟同步:
start slave;
-
查看同步狀態(tài):
show slave status\G;
-
如果發(fā)現(xiàn)`Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection`報(bào)錯(cuò)
-
解決方法:
-
在從庫上執(zhí)行一下命令即可,出現(xiàn)該報(bào)錯(cuò)的原因是因?yàn)閙ysql8.0默認(rèn)要求連mysql需要安全連接文章來源:http://www.zghlxwxcb.cn/news/detail-800657.html
-
stop slave; CHANGE MASTER TO GET_MASTER_PUBLIC_KEY=1; start slave
-
參考連接:mysql主從復(fù)制報(bào)錯(cuò):Authentication plugin ‘caching_sha2_password‘ reported error: Authentication requires se_authentication plugin 'caching_sha2_password' repo-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-800657.html
- 再次查看從庫狀態(tài),這兩個(gè)都是yes即可
到了這里,關(guān)于mysql從庫重新搭建的流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!