3分钟解决MySQL 1864 主从错误

发布时间:2019-09-15 09:55:57编辑:auto阅读(1263)

    wKiom1e87-aQ0QXXAAAPkNxB-7Q330.png

        从字面意思看了一下是因为slave_pending_jobs_size_max默认值为1677721616MB),但是slave接收到的slave_pending_jobs_size_max1708545317M);





    解决方

    从库执行如下SQL

    mysql>stop slave;
    mysql>set global slave_pending_jobs_size_max=20000000;
    mysql> start slave;

    #在多线程复制时,在队列中Pending的事件所占用的最大内存,默认为16M,如果内存富余,或者延迟较大时,可以适当调大;注意这个值要比主库的max_allowed_packet





    故障模拟:

    从库设置
    mysql> set global slave_parallel_workers=4;
    mysql> show variables like 'slave_parallel_workers';
    +------------------------+-------+
    | Variable_name          | Value |
    +------------------------+-------+
    |slave_parallel_workers | 4     |
    +------------------------+-------+
    1 row in set (0.00sec)
     
    mysql>set global slave_pending_jobs_size_max=1024;
    mysql> show variables like 'slave_pend%';
    +-----------------------------+-------+
    | Variable_name               | Value |
    +-----------------------------+-------+
    |slave_pending_jobs_size_max | 1024  |
    +-----------------------------+-------+
    1 row in set (0.00sec)

     

     

    主库操作:
    mysql> update erp_mkpf set usnam='测试1864错误';
    ERROR 1197 (HY000):Multi-statement transaction required more than 'max_binlog_cache_size' bytes ofstorage; increase this mysqld variable and try again
    mysql> set global max_binlog_cache_size=8388608000000;
    Query OK, 0 rowsaffected (0.00 sec)
    mysql> begin;
    Query OK, 0 rowsaffected (0.00 sec)
     
    mysql> update erp_mkpf set usnam='测试1864错误';
    Query OK, 70466 rowsaffected (0.38 sec)
    Rows matched:70466  Changed: 70466  Warnings: 0
     
    mysql> commit;
    Query OK, 0 rowsaffected (0.08 sec)

     

     

     
    从库查看状态:
    mysql> show slavestatus\G
     
                   Last_SQL_Errno: 1864
                   Last_SQL_Error: Cannot scheduleevent Update_rows, relay-log name ./HE1-relay-bin.000005, position 494 toWorker thread because its size 8200 exceeds 1024 ofslave_pending_jobs_size_max.


关键字