记一次生产中mysql备库某张表出问题导致备库同步失败的解决办法

生产中我们总是会遇到一些问题,比如备库的某张表同步失败,但是从库一直在写数据,该怎解决?
好,下面就说一下我在工作中碰到这个中情况的时候的处理办法。
使用实验环境来模拟当时情况,情景再现
环境:
master:192.168.56.21
slave:192.168.56.22
库:ai
同步失败的表:lmj
1,备库删除表
mysql> drop table lmj;
Query OK, 0 rows affected (0.01 sec)
关闭从库
mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)
从库关闭服务
/etc/init.d/mysqld stop
从库加上一个参数replicate_ignore_table参数,过滤掉这张表
vim /etc/my.cnf
replicate_ignore_table=ai.lmj
从库重新启动
/etc/init.d/mysqld start
2,主库mysqldump这张表
[root@mysql1 bak]# /data/mysql/bin/mysqldump -uroot -proot --master-data=2 ai lmj >lmj.sql
Warning: Using a password on the command line interface can be insecure.
scp传输到备库
[root@mysql1 bak]# scp lmj.sql 192.168.56.22://root/bak/
lmj.sql        100% 1935     1.9KB/s   00:00    
[root@mysql1 bak]#
3,从库导入数据
[root@mysql2 bak]# mysql -uroot -proot ai <lmj.sql
找到备份的时候的file位置和pos位置
[root@mysql2 bak]# more lmj.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000048', MASTER_LOG_POS=1529;
4,备库开启slave,应用到备份的点。
mysql> start slave until MASTER_LOG_FILE='mysql-bin.000048', MASTER_LOG_POS=1529;
Query OK, 0 rows affected (0.01 sec)
5,主库lmj表插入数据,模拟生产环境
root@localhost:ai 10:00:40>insert into lmj values(4);
Query OK, 1 row affected (0.01 sec)
root@localhost:ai 10:00:40>insert into lmj values(5);
Query OK, 1 row affected (0.01 sec)
6,从库关闭mysql服务
/etc/init.d/mysqld stop
把参数注释掉
vim /etc/my.cnf
####replicate_ignore_table=ai.lmj
从库开启mysql服务
/etc/init.d/mysqld start
7,备库开启主从
start slave;
检查数据
mysql> select * from lmj;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
ok,问题解决。这个技能是必须的,因为在工作中经常会发生备库某张表同步失败的情况。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31447263/viewspace-2149029/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31447263/viewspace-2149029/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值