求救: mysql 主从同步,配置好后,跑上一段时间,就出现如此错误了,求指点

2015-08-20 10:04:16 +08:00
 Nixus

3265 次点击
所在节点    MySQL
14 条回复
realpg
2015-08-20 16:03:09 +08:00
啥错误你都不说。
Nixus
2015-08-20 16:03:54 +08:00
@realpg Last_SQL_Error 那里的错误
realpg
2015-08-20 16:04:45 +08:00
抱歉,手机刷不出图来,发帖完事回来才看到图
Nixus
2015-08-20 16:06:05 +08:00
@realpg 噢,好的,等你完事儿了,帮我看看哈,谢谢
tb4649120073rs
2015-08-20 18:28:08 +08:00
数据脏了 主库更新了某条记录 但在从库中不存在该条记录
Nixus
2015-08-21 08:50:51 +08:00
@tb4649120073rs 是的,这个问题,我居然幻想用重新配置主从同步来解决,我把从库所有数据清空,然后在主库上加锁,把主库拷了一份到从库,配置完成后,一切正常,但是十几分钟后,这个问题又重新出现了……
根据我过去两天多次尝试的观察,出问题的,是 mysql-bin.000060 ,开始怀疑是否硬盘出现了坏道,毕竟硬盘已经跑了近一年

Linux 上的硬盘检测什么的,真的不懂,我是 PHPer ,但是服务器也是要搞的
coolwind
2015-08-21 09:11:13 +08:00
Master 执行看看 mysql-bin.000060 的 4951916 是什么内容,想想这条命令对应的 data 在 slave 上为何不见了
SHOW BINLOG EVENTS IN 'mysql-bin.000060' FROM 4951916 LIMIT 10;
Nixus
2015-08-21 09:59:51 +08:00
@coolwind
| mysql-bin.000060 | 4951916 | Update_rows | 1 | 4952598 | table_id: 2753 flags: STMT_END_F |
| mysql-bin.000060 | 4952598 | Query | 1 | 4952672 | COMMIT |
| mysql-bin.000060 | 4952672 | Query | 1 | 4952809 | use `kjrs_crm2`; DELETE FROM `kjrs_crm2`.`crm_sessions_data` WHERE expiry < 1439993091 |
| mysql-bin.000060 | 4952809 | Query | 1 | 4952941 | use `kjrs_crm2`; DELETE FROM `kjrs_crm2`.`crm_sessions` WHERE expiry < 1439993094 |
| mysql-bin.000060 | 4952941 | Query | 1 | 4953014 | BEGIN |
| mysql-bin.000060 | 4953014 | Table_map | 1 | 4953118 | table_id: 2765 (kjrs_crm2.crm_ordersyn_goods ) |
| mysql-bin.000060 | 4953118 | Delete_rows | 1 | 4953268 | table_id: 2765 flags: STMT_END_F |
| mysql-bin.000060 | 4953268 | Query | 1 | 4953342 | COMMIT |
| mysql-bin.000060 | 4953342 | Intvar | 1 | 4953370 | INSERT_ID=1709586 |
| mysql-bin.000060 | 4953370 | Query | 1 | 4953648 | use `kjrs_crm2`; INSERT INTO `kjrs_crm2`.`crm_ordersyn_record`(admin_id, sql_content, table_name, operate_time )VALUES (497, 'DELETE FROM `kjrs_crm2`.`crm_ordersyn_goods` WHERE rec_id=479315 LIMIT 1', 'ordersyn_info', 1440023697 ) |
+------------------+---------+-------------+-----------+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

sql 没问题,但是事务那块就不怎么明白了,只有 table_id,flags,这些事什么意思呢?
table_id 是 mysql 中,这个 table 的 id ?
zjqzxc
2015-08-21 11:23:18 +08:00
smartctl 看看硬盘 smart 有木有报告, mysql 的问题实在帮不了。
julyclyde
2015-08-21 15:25:58 +08:00
master 上
show global variables like 'binlog%';
slave 上
show global variables like 'replicate_%';
结果给一下,我怀疑你的配置略过了一些 sql 没执行,导致主从不一致
Nixus
2015-08-22 05:52:31 +08:00
@julyclyde 先感谢,上午再提供数据
@zjqzxc 谢谢
Nixus
2015-08-22 15:30:54 +08:00
@julyclyde
master 上的结果:
mysql> show global variables like 'binlog%';
+-----------------------------------------+-------+
| Variable_name | Value |
+-----------------------------------------+-------+
| binlog_cache_size | 32768 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_format | MIXED |
+-----------------------------------------+-------+
3 rows in set (0.00 sec )

slave 上的结果:
mysql> show global variables like 'replicate_%';
Empty set (0.00 sec )
julyclyde
2015-08-23 21:41:27 +08:00
看起来设置方面没啥问题。那我也不清楚了
建议检查一下磁盘是否正常工作吧
Nixus
2015-08-24 08:40:16 +08:00
@julyclyde 感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/214463

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX