MySQL主从复制出错案例一则

转载 2013年12月04日 00:28:59

有时候为了方面的导入数据,可以使用MyISAM存储引擎的表,直接把数据文件Copy一份放到对应的目录下,这样MySQL就能直接识别到,但是在主从复制的环境里这样做是有问题的,因为在从库上并没有这个表,从而导致后续的一些操作失败,比如在主库上执行导入数据的SQL语句,则在从库会报错如下:

mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1146
Last_Error: Error ‘Table ‘banpingdb.blog_score’ doesn’t exist’ on query. Default database: ‘banpingdb’. Query: ‘replace INTO blog_score_result(id,score,avg)
SELECT b.id, min(s.comment), min(s.price) FROM blog_score s,a_blog b where s.name=b.biz_name
group by b.id’

同样的信息通过日志也一样会看到:

111215 19:17:54 [ERROR] Slave SQL: Error ‘Table ‘banpingdb.blog_score’ doesn’t exist’ on query. Default database: ‘banpingdb’. Query: ‘replace INTO blog_score_result(id,score,avg)
SELECT b.id, min(s.comment), min(s.price) FROM blog_score s,a_blog b where s.name=b.biz_name
group by b.id’, Error_code: 1146
111215 19:17:54 [Warning] Slave: Table ‘banpingdb.blog_score’ doesn’t exist Error_code: 1146
111215 19:17:54 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with “SLAVE START”. We stopped at log ’1-bin.000001′ position 130482476

这种错误处理也很简单,可以直接跳过,当然要评估可能产生的影响:

mysql> slave stop;
Query OK, 0 rows affected (0.22 sec)

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> slave start;
Query OK, 0 rows affected (0.00 sec)

然后blog_score_result这个表的数据肯定不准确了,可以重新从主库导入数据,视应用的繁忙程度,要保证数据的一致性,先在主库上lock这个表,不让其他用户更新:

mysql> lock tables blog_score_result read;
Query OK, 0 rows affected (0.00 sec)

然后导出数据:

[root@banping 3306]# bin/mysqldump –default-character-set=utf8 banpingdb blog_score_result -u root -p>/tmp/blog_score_result.sql;

去从库导入数据:

[root@banping 3306]# bin/mysql –default-character-set=utf8 banpingdb -u root -p</tmp/blog_score_result.sql;
Query OK, 0 rows affected (0.00 sec)

到主库解锁这个表:

mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

这样就完成了数据一致性的操作。主从复制的同步也正常了。这种事情的处理要结合实际应用情况,不可照搬就是了。

mysql主从同步出错的处理步骤

大家好:         整理了一下主从同步出错的处理步骤。         1.登陆从库查看从库的同步状态 SHOW SLAVE STATUS , 查看Slave_IO_Running  、Sl...
  • cstopery
  • cstopery
  • 2016年11月07日 16:08
  • 208

小贝_mysql主从复制作用以及案例

mysql用户授权命令,mysql用户授权作用、mysql bin-log日志,开启mysql bin-log日志,操作mysql bin-log日志、mysql主从复制,mysql主从复制案例和作用...
  • u014795720
  • u014795720
  • 2015年07月25日 23:22
  • 932

Mysql主从复制(master-slave)实际操作案例

这篇文章主要介绍了Mysql主从复制(master-slave)实际操作案例,同时介绍了Mysql grant 用户授权的相关内容,需要的朋友可以参考下 在这一章节里, 我们来了...
  • alibert
  • alibert
  • 2016年03月18日 09:05
  • 441

Oracle Crash案例一则

接到电话报告说一套Oracle库在临近下班的时候莫名crash掉,让我去现场看看。 刚到现场,现场的维护人员说由于扩展了存储,在添加数据文件的时候数据库不知道什么原因自动停掉了,他尝试将数据库起来的...
  • gtlions
  • gtlions
  • 2013年05月15日 19:27
  • 1362

【案例】slave_net_timeout 问题一则

【背景】    对一套数据库集群进行5.5升级到5.6之后,alter.log 报warning异常。 2015-02-03 15:44:51 19633 [Warning] St...
  • achejq
  • achejq
  • 2016年08月30日 12:36
  • 926

机器学习-文本分析

文本分析 文本数据   文本分析 停用词                                                                      1.! 2." 3....
  • weixin_40061167
  • weixin_40061167
  • 2017年11月27日 20:18
  • 661

SQL优化案例一则

接前面一条>一文,现在需要对原SQL进行优化: 原SQL如下: SELECT DISTINCT                         o.CN,                       ...
  • zengxuewen2045
  • zengxuewen2045
  • 2016年05月14日 22:58
  • 297

dbms_lock案例一则

今天来深入学习下Oracle的锁: About User Locks You can use Oracle Lock Management services  for your applica...
  • snoopy93
  • snoopy93
  • 2013年03月02日 22:13
  • 1881

运算符优先级一则小案例

遇到好的案例总是有必要记录下来的。规则书上明明白白写着,但教科书上基本上很少给出一些案例。...
  • u013344915
  • u013344915
  • 2016年01月13日 11:45
  • 352

名企笔试真题精选 (七)

哎,自己没什么时间也没什么耐性更没什么毅力天天学习天天向上,于是很多搜罗来不及看的东东先分享给童鞋们吧   7.  国内通信领域的著名高科技骨干企业——大唐电信 DTT 笔试题        ...
  • cabbage_mm
  • cabbage_mm
  • 2011年10月20日 17:42
  • 377
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL主从复制出错案例一则
举报原因:
原因补充:

(最多只允许输入30个字)