› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
Nixus
V2EX  ›  MySQL

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

  •  
  •   Nixus · Aug 20, 2015 · 3999 views
    This topic created in 4088 days ago, the information mentioned may be changed or developed.

    image

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

    Linux 上的硬盘检测什么的,真的不懂,我是 PHPer ,但是服务器也是要搞的
    coolwind
        7
    coolwind  
       Aug 21, 2015   ❤️ 1
    Master 执行看看 mysql-bin.000060 的 4951916 是什么内容,想想这条命令对应的 data 在 slave 上为何不见了
    SHOW BINLOG EVENTS IN 'mysql-bin.000060' FROM 4951916 LIMIT 10;
    Nixus
        8
    Nixus  
    OP
       Aug 21, 2015
    @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
        9
    zjqzxc  
       Aug 21, 2015   ❤️ 1
    smartctl 看看硬盘 smart 有木有报告, mysql 的问题实在帮不了。
    julyclyde
        10
    julyclyde  
       Aug 21, 2015   ❤️ 1
    master 上
    show global variables like 'binlog%';
    slave 上
    show global variables like 'replicate_%';
    结果给一下,我怀疑你的配置略过了一些 sql 没执行,导致主从不一致
    Nixus
        11
    Nixus  
    OP
       Aug 22, 2015
    @julyclyde 先感谢,上午再提供数据
    @zjqzxc 谢谢
    Nixus
        12
    Nixus  
    OP
       Aug 22, 2015
    @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
        13
    julyclyde  
       Aug 23, 2015   ❤️ 1
    看起来设置方面没啥问题。那我也不清楚了
    建议检查一下磁盘是否正常工作吧
    Nixus
        14
    Nixus  
    OP
       Aug 24, 2015
    @julyclyde 感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1339 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 21:56 · PVG 05:56 · LAX 14:56 · JFK 17:56
    ♥ Do have faith in what you're doing.