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主从复制作用以及案例

mysql用户授权命令,mysql用户授权作用、mysql bin-log日志,开启mysql bin-log日志,操作mysql bin-log日志、mysql主从复制,mysql主从复制案例和作用

Mysql中主从复制的原理、配置过程以及实际案例

Mysql中主从复制的原理、配置过程以及实际案例 1.什么是主从复制? 原理:主从分离,什么意思呢?我们不妨画个图看看。如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Ce...

mysql5.6主从复制

  • 2014-11-19 15:52
  • 116KB
  • 下载

生产环境主从复制出错

正准备下班的时候zabbix报警了,知道没有好事,擦,果不其然,发现从库复制报错。好吧,乖乖登陆服务器看看啥原因, show slave status状态如下: 好吧,初步感觉是无法执行函数,我的...

mysql主从复制详解

用途及作用主从复制主要用途及作用有以下几点: - 数据分布 - 负载均衡 - 实时灾备,用于故障切换 - 读写分离,提供查询服务 - 备份,避免影响业务主从复制原理 主从复制分为同步复制和...

mysql5.6.14配置主从复制

  • 2016-02-04 11:17
  • 16KB
  • 下载

MySQL主从复制配置文档

  • 2017-08-08 20:31
  • 1.04MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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