mysql start until_恢复SLAVE上的某几张表的简要方法 start slave until

核心提示: 同步报错是遇到最多的一个问题,如果你修复后发现还没有解决,恢复SLAVE上的某几张表的简要方法,通常的方法就是在Master上重新dump出一份,然后在slave上恢复,开启同步即可,mysql>start slave;这样我们就恢复了3张表,这个方法是针对整个库不是很大的情况下使用的,那如果是较大

同步报错是遇到最多的一个问题,如果你修复后发现还没有解决,通常的方法就是在Master上重新dump出一份,然后在slave上恢复。这个方法是针对整个库不是很大的情况下使用的,那如果是较大,全部dump再倒入耗时就很长。

那么就要通过特殊的方法恢复某几张表,例如有a1,b1,c1这三张表的数据跟Master上的不一致,操作方法如下:

1、停止Slave复制

mysql>stop slave;

2、在主库上dump这三张表,并记录下同步的binlog和POS点

# mysqldump -uroot -p123456 -q --single-transaction --master-data=2 yourdb a1 b1 c1 > ./a1_b1_c1.sql

3、查看a1_b1_c1.sql文件,找出记录的binlog和POS点

# more a1_b1_c1.sql

例如MASTER_LOG_FILE='mysql-bin.002974', MASTER_LOG_POS=55056952;

4、把a1_b1_c1.sql拷贝到Slave机器上,并做Change master to指向

mysql>start slave until MASTER_LOG_FILE='mysql-bin.002974', MASTER_LOG_POS=55056952;

直到sql_thread线程为NO,这之间的同步报错一律跳过即可,用命令

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

注:我来解释下,这步是什么意思。保障其他表的数据不丢失,一直同步,直到同步完那个点结束,a1,b1,c1表的数据在之前的dump已经生成了一分快照,我们只需要导入进入,然后开启同步即可。

5、在Slave机器上导入a1_b1_c1.sql

# mysql -uroot -p123456 yourdb < ./a1_b1_c1.sql

6、导入完毕后,开启同步即可。

mysql>start slave;

这样我们就恢复了3张表,并且同步也修复了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值