zoukankan      html  css  js  c++  java
  • MySQL 参数slave_pending_jobs_size_max设置

    今天生产环境上从库出现SQL进程停止的异常,错误信息如下:

     Slave_IO_Running: Yes
                Slave_SQL_Running: No
                  Replicate_Do_DB: 
              Replicate_Ignore_DB: 
               Replicate_Do_Table: 
           Replicate_Ignore_Table: 
          Replicate_Wild_Do_Table: 
      Replicate_Wild_Ignore_Table: 
                       Last_Errno: 1864
                       Last_Error: Cannot schedule event Write_rows, relay-log name ./mysql-relay-bin.001304, position 416228895 to Worker thread because its size 16777357 exceeds 16777216 of slave_pending_jobs_size_max.

    从报错信息可以看出,是因为slave_pending_jobs_size_max的大小小于当前需要执行事件所需的内存大小。经查看,slave_pending_jobs_size_max的大小设置的是默认值16777216(即16M),小于16777357。

    异常处理步骤如下:

    1.查看主库max_allowed_packet的大小;

    mysql> show variables like 'max_allowed_packet';  -- 134217728 即128M
    +--------------------+-----------+
    | Variable_name      | Value     |
    +--------------------+-----------+
    | max_allowed_packet | 134217728 |
    +--------------------+-----------+

    2. 设置从库slave_pending_jobs_size_max的大小,注意,需要大于主库max_allowed_packet的大小

    mysql> stop  slave;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> set global slave_pending_jobs_size_max=157286400;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> start slave;
    Query OK, 0 rows affected (0.05 sec)

    3.处理完毕检查一下主从同步情况

    mysql> show slave statusG

    Tips:

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

    耿小厨已开通个人微信公众号,想进一步沟通或想了解其他文章的同学可以关注我

  • 相关阅读:
    hdu 4033Regular Polygon(二分+余弦定理)
    hdu 4405Aeroplane chess(概率DP)
    hdu 3853LOOPS (概率DP)
    网络编程基础(转)
    网络编程socket基本API详解(转)
    网络编程之socket(转)
    cf(#div1 B. Dreamoon and Sets)(数论)
    cf(#div1 A. Dreamoon and Sums)(数论)
    hdu 1805Expressions(二叉树构造的后缀表达式)
    hdu1710(Binary Tree Traversals)(二叉树遍历)
  • 原文地址:https://www.cnblogs.com/gjc592/p/9272061.html
Copyright © 2011-2022 走看看