MySQL錯誤1153 - 獲得的數據包大于'max_allowed_packet'字節我正在導入MySQL轉儲并收到以下錯誤。$ mysql foo < foo.sql
ERROR 1153 (08S01) at line 96: Got a packet bigger than 'max_allowed_packet' bytes顯然,數據庫中有附件,這使得插入非常大。這是在我的本地機器上,從MySQL軟件包安裝MySQL 5的Mac。我在哪里可以更改max_allowed_packet以導入轉儲?還有什么我應該設置的嗎?剛剛運行mysql --max_allowed_packet=32M …導致了同樣的錯誤。
3 回答

FFIVE
TA貢獻1797條經驗 獲得超6個贊
您可能必須為客戶端(您正在運行以執行導入)和正在運行并接受導入的守護程序mysqld更改它。
對于客戶端,您可以在命令行上指定它:
mysql --max_allowed_packet=100M -u root -p database < dump.sql
另外,更改 mysqld部分下的my.cnf或my.ini文件并設置:
max_allowed_packet=100M
或者您可以在連接到同一服務器的MySQL控制臺中運行這些命令:
set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;
(對數據包大小使用非常大的值。)

慕絲7291255
TA貢獻1859條經驗 獲得超6個贊
作為michaelpryor說,你必須改變它為雙方的客戶和守護程序mysqld服務器。
他對客戶端命令行的解決方案很好,但是根據配置,ini文件并不總能解決問題。
因此,打開一個終端,鍵入mysql以獲取mysql提示符,并發出以下命令:
set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;
保持mysql提示符處于打開狀態,并在第二個終端上運行命令行SQL執行。

RISEBY
TA貢獻1856條經驗 獲得超5個贊
這可以my.ini
在服務器部分下的文件中(在Windows上,位于\ Program Files \ MySQL \ MySQL Server中)進行更改,例如:
[mysqld]max_allowed_packet = 10M
添加回答
舉報
0/150
提交
取消