正常的情況下,肯定是OK的,沒有生效,那麼可能是你沒有配置正確。
限制Server接受和傳送的最大資料包大小。有時候大的插入和更新會受 該引數的限制,導致寫入或者更新失敗。為避免單個SQL請求資料量過大,佔用大量資源,導致其他請求被拖慢,甚至將mysql拖垮。因此建議不宜配置過大,建議範圍在4M-64M範圍內。
沒有生效,可能有以下2種可能。
首先,先確認現在是配置的多少:
單位是位元組,也就是4194304/1024/1024=4M。
如果你配置的時候,比如加大到10M,如果是這樣的,set SESSION max_allowed_packet=10485760;
這是會報錯的,無法執行成功。也就當然不會生效,而不清楚你的具體情況,因此,看是不是這樣。
正確的設定辦法是:
set GLOBAL max_allowed_packet=10485760;
表示的是全域性生效,這個時候,新連線MySQL的連線,都將被應用新的配置,而原來已經連線的,是不會生效的。
如果都不是,那麼可能是第三種,配置之後,mysql重啟過,因為這樣設定,並不會儲存到mysql的配置檔案中的,因此一旦重啟,就會使用預設配置或配置檔案中的新配置,你需要配置到你的配置檔案中,windows可能是my.ini。
大致路徑:C:\ProgramData\MySQL\MySQL Server 5.7/my.ini
新增
max_allowed_packet=10485760
儲存即可。
---------------------
----------------------
正常的情況下,肯定是OK的,沒有生效,那麼可能是你沒有配置正確。
max_allowed_packet這個引數幹什麼用呢?限制Server接受和傳送的最大資料包大小。有時候大的插入和更新會受 該引數的限制,導致寫入或者更新失敗。為避免單個SQL請求資料量過大,佔用大量資源,導致其他請求被拖慢,甚至將mysql拖垮。因此建議不宜配置過大,建議範圍在4M-64M範圍內。
沒有生效,可能有以下2種可能。
首先,先確認現在是配置的多少:
單位是位元組,也就是4194304/1024/1024=4M。
沒有Global配置如果你配置的時候,比如加大到10M,如果是這樣的,set SESSION max_allowed_packet=10485760;
這是會報錯的,無法執行成功。也就當然不會生效,而不清楚你的具體情況,因此,看是不是這樣。
正確的設定辦法是:
set GLOBAL max_allowed_packet=10485760;
表示的是全域性生效,這個時候,新連線MySQL的連線,都將被應用新的配置,而原來已經連線的,是不會生效的。
mysql重啟過如果都不是,那麼可能是第三種,配置之後,mysql重啟過,因為這樣設定,並不會儲存到mysql的配置檔案中的,因此一旦重啟,就會使用預設配置或配置檔案中的新配置,你需要配置到你的配置檔案中,windows可能是my.ini。
大致路徑:C:\ProgramData\MySQL\MySQL Server 5.7/my.ini
新增
max_allowed_packet=10485760
儲存即可。
---------------------
----------------------