回覆列表
  • 1 # 碼農上線

    正常的情況下,肯定是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

    儲存即可。

    ---------------------

    ----------------------

  • 中秋節和大豐收的關聯?
  • 過年,如果發出的紅包跟收到的紅包,相差較大,例如差距1,2千,你怎麼想?