关闭

MySQL主从复制出错案例一则

350人阅读 评论(0) 收藏 举报
分类:

有时候为了方面的导入数据,可以使用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)

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:56300次
    • 积分:736
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:80篇
    • 译文:0篇
    • 评论:0条
    文章分类