时间: 2020-11-26|39次围观|0 条评论

MySQL DBA 复制故障处理及一致性校验(十一)插图

MySQL DBA 复制故障处理及一致性校验(十一)插图1

一般是sql_thread错误

MySQL DBA 复制故障处理及一致性校验(十一)插图2

1236错误

MySQL DBA 复制故障处理及一致性校验(十一)插图3

mysqldump备份数据重建复制

mysqldump -uxxx -p -s /tmp/mysql.sock --master-data=2 --single-transaction -A > backup.sql

MySQL DBA 复制故障处理及一致性校验(十一)插图4

reset master;

mysqldump -uxxx -p -s /tmp/mysql.sock < backup.sql

MySQL DBA 复制故障处理及一致性校验(十一)插图5

retrieved_gtid_set出现空洞没问题,但是如果executed_gtid_set有空洞就说明丢数据

修复retrieved_gtid_set空洞的办法

stop slave;reset slave all;change master to ...;start slave;

 

1062

出现问题的原因,从库有数据写入,或者主库crash重启,InnoDB数据没有持久化

 

1032

delete,update的记录在从库上被delete掉了

传统复制

stop slave;
set global sql_slave_skip_counter=1;
start slave;

gtid复制

(1)停止slave
mysql> STOP SLAVE;
(2)设置事务号,事务号从Retrieved_Gtid_Set获取
在session里设置gtid_next,即跳过这个GTID
mysql> SET @@SESSION.GTID_NEXT= '8f9e146f-0a18-11e7-810a-0050568833c8:4'
(3)设置空事物
mysql> BEGIN; COMMIT;
(4)恢复事物号
mysql> SET SESSION GTID_NEXT = AUTOMATIC;
(5)启动slave进程
mysql> START SLAVE;

MySQL DBA 复制故障处理及一致性校验(十一)插图6

MySQL DBA 复制故障处理及一致性校验(十一)插图7

 

 架构变换

MySQL DBA 复制故障处理及一致性校验(十一)插图8

让slave日志停在同一位置

方法一

master执行

set sql_log_bin=0;

create table larry(id int);

set sql_log_bin=1;

drop table larry;

方法二

start slave sql_thread until

 

MySQL DBA 复制故障处理及一致性校验(十一)插图9

1.看看sql_thread在执行什么?

MySQL DBA 复制故障处理及一致性校验(十一)插图10

MySQL DBA 复制故障处理及一致性校验(十一)插图11

 

https://blog.csdn.net/fdsfdf3434/article/details/78652084

案例

https://mp.weixin.qq.com/s?__biz=MjM5NzAzMTY4NQ==&mid=2653930276&idx=1&sn=40d37e6b9e7b4cf53b321da745e6dbbd&scene=0#wechat_redirect

MySQL DBA 复制故障处理及一致性校验(十一)插图12

 

转载于:https://www.cnblogs.com/geek-ace/p/11182278.html

原文链接:https://blog.csdn.net/weixin_30342827/article/details/98788233

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《MySQL DBA 复制故障处理及一致性校验(十一)
   

还没有人抢沙发呢~