mysql备库报错:exceeds of slave_pending_jobs_size_max

备库show slave status\G信息如下:

*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 1.1.1.1
                  Master_User: replicator
                  Master_Port: 3214
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000669
          Read_Master_Log_Pos: 37646194
               Relay_Log_File: slave-relay.001993
                Relay_Log_Pos: 1196395
        Relay_Master_Log_File: mysql-bin.000667
             Slave_IO_Running: Yes
            Slave_SQL_Running: No

                   Last_Error: Cannot schedule event Write_rows_v1, relay-log name /home/mysql/data3214/mysql/slave-relay.001993, position 1196581 to Worker thread because its size 240108247 exceeds 167772160 of slave_pending_jobs_size_max.

问题原因:

由于pending job占用内存大于slave_pending_jobs_size_max参数,写入报错

解决办法:内存足够的情况下调大slave_pending_jobs_size_max,调大到比报错大一点就行

mysql> stop slave;
Query OK, 0 rows affected (0.04 sec)

mysql> set global slave_pending_jobs_size_max=250000000;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)

             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

猜你喜欢

转载自blog.csdn.net/qq_40687433/article/details/108627266