• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    mysql 5.7 gtid主从同步错误修复

      in  unix      Tags:  mysql 5.7  gtid主从同步  mysql gtid主从同步  

    错误发生的原因是我们在从库上插入了一条数据,又马上在主库上插入相同的数据,这样就造成主从不同步了.

    系统:CentOS 7.x(64位)

    软件版本:mysql 5.7(64位)

    以下错误都是事后找的:

    第一个错误:

    2018-03-21T08:39:48.606372Z 8 [ERROR] Slave SQL for channel '': Worker 0 failed executing transaction 'c4e174e2-1368-11e7-8120-00163e12b9a9:401338043' at master log master-bin.001906, end_log_pos 287308541; Could not execute Write_rows event on table qx_lottery_g2.lot_audit_log; Duplicate entry '1074' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.001906, end_log_pos 287308541, Error_code: 1062

    解决办法:

    1.查看表结构:

    [root@localhost][(none)]> desc qx_lottery_g2.lot_audit_log;

    01+-------------------+--------------+------+-----+---------+-------+
    02| Field             | Type         | Null Key Default | Extra |
    03+-------------------+--------------+------+-----+---------+-------+
    04| _id               | bigint(20)   | NO   | PRI | NULL    |       |
    05| _company_id       | bigint(20)   | YES  |     | NULL    |       |
    06| _open_id          | varchar(255) | YES  |     | NULL    |       |
    07| _name             | varchar(255) | YES  |     | NULL    |       |
    08| _apply_open_id    | varchar(255) | YES  |     | NULL    |       |
    09| _apply_name       | varchar(255) | YES  |     | NULL    |       |
    10| _apply_wx_img     | varchar(255) | YES  |     | NULL    |       |
    11| _telephone        | varchar(255) | YES  |     | NULL    |       |
    12| _store_id         | bigint(20)   | YES  |     | NULL    |       |
    13| _street_name      | varchar(255) | YES  |     | NULL    |       |
    14| _area_name        | varchar(255) | YES  |     | NULL    |       |
    15| _store_name       | varchar(255) | YES  |     | NULL    |       |
    16| _status           | int(11)      | YES  |     | NULL    |       |
    17| _create_time      | bigint(20)   | YES  |     | NULL    |       |
    18| _product_id       | bigint(20)   | YES  |     | NULL    |       |
    19| _apply_product_id | bigint(20)   | YES  |     | NULL    |       |
    20| _member_id        | bigint(20)   | YES  |     | NULL    |       |
    21| _apply_member_id  | bigint(20)   | YES  |     | NULL    |       |
    22| _apply_wx_name    | varchar(100) | YES  |     | NULL    |       |
    23+-------------------+--------------+------+-----+---------+-------+
    2419 rows in set (0.00 sec)

    19 rows in set (0.00 sec)

    2.删除重复的主键

    [root@localhost][qx_lottery_g2]>stop slave;

    [root@localhost][qx_lottery_g2]>delete from lot_audit_log where _id=1074;

    [root@localhost][qx_lottery_g2]>start slave;

    第二个错误:

    Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'c4e174e2-1368-11e7-8120-00163e12b9a9:401340325' at master log master-bin.001906, end_log_pos 295832505. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

    解决办法:

    stop slave;

    Set @@SESSION.GTID_NEXT='c4e174e2-1368-11e7-8120-00163e12b9a9:401340325';

    Begin;

    Commit;

    Set @@SESSION.GTID_NEXT = AUTOMATIC;

    start slave;

    show slave status\G

    看是否还有错误,如果还报错误的话,再执行,我们这里就报错了:

    Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'c4e174e2-1368-11e7-8120-00163e12b9a9:401341631' at master log master-bin.001906, end_log_pos 295832505. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

    再执行了一次:

    stop slave;

    Set @@SESSION.GTID_NEXT='c4e174e2-1368-11e7-8120-00163e12b9a9:401341631';

    Begin;

    Commit;

    Set @@SESSION.GTID_NEXT = AUTOMATIC;

    start slave;

    show slave status\G

    这次就没有报错了,mysql主从正常同步了.


    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开