《MYSQL教程Mysql 1864 主從錯誤解決方法》要點:
本文介紹了MYSQL教程Mysql 1864 主從錯誤解決方法,希望對您有用。如果有疑問,可以聯系我們。
MYSQL必讀
從字面意思看了一下是因為slave_pending_jobs_size_max默認值為16777216(16MB),但是slave接收到的slave_pending_jobs_size_max為17085453(17M);MYSQL必讀
解決方案MYSQL必讀
從庫執行如下SQLMYSQL必讀
mysql>stop slave; mysql>set global slave_pending_jobs_size_max=20000000; mysql> start slave;
#在多線程復制時,在隊列中Pending的事件所占用的最大內存,默認為16M,如果內存富余,或者延遲較大時,可以適當調大;注意MYSQL必讀
這個值要比主庫的max_allowed_packet大MYSQL必讀
故障模擬:MYSQL必讀
從庫設置MYSQL必讀
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必讀
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必讀
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.
以上所述是小編給大家介紹的Mysql 1864 主從錯誤解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的.在此也非常感謝大家對維易PHP網站的支持!
MYSQL必讀
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3587.html