[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 合併
[Linux] 如何能知道我是什麼時候安裝的?
linux想知道什麼時候裝系統的?
地圖填色的網站
我們想為國家填色不需要小畫家,這個網站能幫助你
[Linux] 列出所有目錄及所占空間的方法
想知道目錄下的所有目錄所占的空間大小?
[Linux] grep 排除特定字串
使用 -v 參數可以讓grep排除特定字串的方法
git為什麼pull會失敗?
git pull為何會失敗,出現Aborting...?
解決nginx server reached pm.max_children setting的問題
這近建置的 docker+php8+nginx 運作一段時間後就壞掉了,查看log出現max_children錯誤,怎麼解決?