mysql load不校验_MySQL DBA 复制故障处理及一致性校验(十一)

1ce7abcfb0a182cbb269ab65e00ddee1.png

4cbe8ba0a64c9b7e6311682a5c02767d.png

一般是sql_thread错误

c24e3866215a078ab512931d4c8826a9.png

1236错误

6987363b9ac2f45c0b7d59eed0018316.png

mysqldump备份数据重建复制

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

97bec32ca0e5523fdb998b08faf65063.png

reset master;

mysqldump -uxxx -p -s /tmp/mysql.sock

b53a3e3eaec13e39c299016626a97d4a.png

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;

68483f2bd2f01f6e551c8b5bf2df58a5.png

feadfd5c421758b7fa0cda18d2d0dd96.png

架构变换

223d2489492e3d59862f63ca57c486e4.png

让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

9f08e0df6e09d28c1ccd76c646c0c4b0.png

1.看看sql_thread在执行什么?

e6e6a5b48d3ff99f7e048583e5c73b3e.png

463b69a0b87c959b7948c7464a420e10.png

案例

e36c3a3549fecadd0639588079480937.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值