[精讚] [會員登入]

[Mysql/MariaDB] 修改資料輸入上限max_allowed_packet

Mysql/MariaDB 修改資料輸入上限max_allowed_packet。

分享完整連結 //n.sfs.tw/m10147

分享連結 [Mysql/MariaDB] 修改資料輸入上限max_allowed_packet@精讚
(文章歡迎轉載,請尊重版權註明連結來源)
2016-12-05 04:36:54 By 張○○

Mysql 的text或bolb欄位最大長度約是65k,如果是mediumtext/longtext就會多達16mb/4g

但是預設mysql只容許一次輸入最大的資料量是1mb,造成超過1mb的資料無法塞入。

錯誤狀況

mysql
ERROR 1153 (08S01) at line xxx: Got a packet bigger than 'max_allowed_packet' bytes

mysqldump
mysqldump: Out of memory (Needed 1477684 bytes)
mysqldump: Got error: 2008: MySQL client run out of memory when retrieving data from server

查看設定

mysql> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 10485760 |
+--------------------+----------+
1 row in set (0.00 sec)

修正方法

1.修改 /etc/my.cnf,在[mysqld] 欄目下設定

[mysqld]
max_allowed_packet=16M

重新啟動mysqld 即可

2. 若只是一個 mysql 客戶,沒有修改設定檔的權限怎麼處理? 你可以使用以下指令來設定更大的緩衝區,例如 8M:

$ mysql --set-variable=max_allowed_packet=8M ..+你的指令..

3. 在 mysql console 中設定,但重啟mysql會恢復原狀

mysql> set global max_allowed_packet=100000000; 

參考資料

[1] http://forums.mysql.com/read.php?35,75794,75794#msg-75794


原文 2009-11-15 07:41:57 、2010-04-26 23:12:34 合併

END
你可能有興趣

check-host 從世界各地檢查你的網站能不能連線?

檢測你的網站能不能暢通?這個網站可讓你知道你的網站是不是「網際網路」還是「區域網路」?

[Smarty4] 出現 modifiers 函式不能用的問題

當我把smarty由3版更新到4.5.1版的時候,出現了Using unregistered function xx in a template這樣的錯誤,該如何解決?

[Docker] docker中要怎麼修改影像的名稱,rename image

透過 build來的image如果沒有指定名稱,事後要怎麼修改影像的名稱?

[Rocky9] 安裝node.js 18, node.js 20

原本的nodejs16在使用 quasar dev時出現錯誤,得升級成18版以上

[SSL] Could not read certificate from server.cer 的錯誤排除

在轉換ssl憑證時,出現無法讀取的錯誤,可是怎麼看憑證都很正常,該怎麼解決?

[Linux] 如何能知道我是什麼時候安裝系統的?

linux想知道什麼時候裝系統的?什麼時候建置的?不必憑記憶。