邳州徐州網(wǎng)站開發(fā)軟文標(biāo)題
背景
生產(chǎn)環(huán)境上的主從集群,因?yàn)橐恍┊惓T?#xff0c;導(dǎo)致主從同步失敗?,F(xiàn)記錄下通過重做mysql從庫(kù)的方式來解決,重做過程不影響主庫(kù)。
步驟
1、在主庫(kù)上的操作步驟
-
備份主庫(kù)所有數(shù)據(jù),并將dump.sql文件拷貝到從庫(kù)/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ì)備庫(kù)有用,默認(rèn)值為1,如果為2,就是把該條語(yǔ)句注釋了。
-
2、在從庫(kù)的操作
-
通過mysql-client使用root用戶登錄上mysql
-
停止從庫(kù):
stop slave;
-
重置從庫(kù):
reset slave all;
-
導(dǎo)入主庫(kù)的數(shù)據(jù):
source /tmp/dump.sql;
-
查看dump.sql文件里面主庫(kù)同步的位點(diǎn):
- 然后在從庫(kù)執(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 主庫(kù),創(chuàng)建用于復(fù)制的賬號(hào)并授權(quán):```mysql -u root -p``````CREATE USER 'replication'@'從庫(kù)IP地址' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'replication'@'從庫(kù)IP地址';FLUSH PRIVILEGES;
- 在從庫(kù)上再次執(zhí)行
#在從庫(kù)上登錄 MySQL,并執(zhí)行以下命令:```mysql -u root -p``````CHANGE MASTER TO MASTER_HOST='主庫(kù)IP地址',MASTER_USER='replication',MASTER_PASSWORD='password',MASTER_LOG_FILE='主庫(kù)的binlog文件名',MASTER_LOG_POS=主庫(kù)的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ò)
-
解決方法:
-
在從庫(kù)上執(zhí)行一下命令即可,出現(xiàn)該報(bào)錯(cuò)的原因是因?yàn)閙ysql8.0默認(rèn)要求連mysql需要安全連接
-
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博客
- 再次查看從庫(kù)狀態(tài),這兩個(gè)都是yes即可