新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL參數(shù)調整實踐之Slave_Pending_Jobs_Size_Max篇
MySQL 的各參數(shù)的值設置需根據(jù)操作系統(tǒng)硬件情況,操作系統(tǒng)參數(shù)情況及數(shù)據(jù)庫其他參數(shù)情況而進行調整,本文將結合生成環(huán)境的異常情況介紹MySQL slave_pending_jobs_size_max參數(shù)調整實踐。

創(chuàng)新互聯(lián)公司主營昭平網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都app開發(fā),昭平h5小程序制作搭建,昭平網(wǎng)站營銷推廣歡迎昭平等地區(qū)企業(yè)咨詢
1、異常描述
之前負責的生產(chǎn)環(huán)境上從庫出現(xiàn)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的大小小于當前需要執(zhí)行事件所需的內存大小。經(jīng)查看,slave_pending_jobs_size_max的大小設置的是默認值16777216(即16M),小于16777357。
2、異常處理步驟如下:
(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 status\G
Tips:slave_pending_jobs_size_max的用途: 在多線程復制時,在隊列中Pending的事件所占用的最大內存,默認為16M,如果內存富余,或者延遲較大時,可以適當調大;注意這個值要比主庫的max_allowed_packet大。
網(wǎng)站標題:MySQL參數(shù)調整實踐之Slave_Pending_Jobs_Size_Max篇
當前URL:http://www.5511xx.com/article/ccisdhe.html


咨詢
建站咨詢
