写入MySQL报错超出 max_allowed_packet 的问题
寫入MySQL報錯超出 max_allowed_packet 的問題。
MySQL會根據配置文件會限制server接受的數據包的大小。如果寫入大數據時,因為默認的配置太小,插入和更新操作會因為 max_allowed_packet 參數限制,而導致失敗。
查看當前配置:
mysql> show variables like 'max_allowed_packet';
 +--------------------+---------+
 | Variable_name? ? ? | Value? ?|
 +--------------------+---------+
 | max_allowed_packet | 4194304 |
 +--------------------+---------+
 1 row in set (0.00 sec)
 ?
也可以用select查看:
mysql> select @@max_allowed_packet;
 +----------------------+
 | @@max_allowed_packet |
 +----------------------+
 |? ? ? ? ? ? ? 4194304 |
 +----------------------+
 1 row in set (0.00 sec)
 mysql>?
 max_allowed_packet 如果不設置,默認值在不同的 MySQL 版本表現不同,有的版本默認1M,有的版本默認4M。
 修改方法1(配置文件持久化修改):
 vim /etc/my.cnf
 [mysqld]
max_allowed_packet = 100M
注意:修改配置文件以后,需要重啟mysql服務才能生效。
mysql> show variables like '%max_allowed_pack%';
 +--------------------+-----------+
 | Variable_name? ? ? | Value? ? ?|
 +--------------------+-----------+
 | max_allowed_packet | 104857600 |
 +--------------------+-----------+
 1 row in set (0.00 sec)
 ?
修改方法2(命令行臨時修改):
mysql> set global max_allowed_packet = 100 * 1024 * 1024;
 mysql> exit
 [root@localhost opt]#?
 [root@localhost opt]# mysql -uroot
 mysql>?
 mysql> select @@max_allowed_packet;
 +----------------------+
 | @@max_allowed_packet |
 +----------------------+
 |? ? ? ? ? ? 104857600 |
 +----------------------+
 1 row in set (0.00 sec)
 mysql>?
 ?
注意:
1.命令行修改時,不能用M、G,只能這算成字節數設置。配置文件修改才允許設置M、G單位。
2.命令行修改之后,需要退出當前回話(關閉當前mysql server鏈接),然后重新登錄才能查看修改后的值。通過命令行修改只能臨時生效,下次數據庫重啟后又復原了。
3.max_allowed_packet 最大值是1G(1073741824),如果設置超過1G,查看最終生效結果也只有1G。
 [mysqld]
 max_allowed_packet = 1G
 mysql> show variables like '%max_allowed_pack%';
 +--------------------+------------+
 | Variable_name? ? ? | Value? ? ? |
 +--------------------+------------+
 | max_allowed_packet | 1073741824 |
 +--------------------+------------+
1 row in set (0.00 sec)
來源:https://blog.csdn.net/sunny05296/article/details/80446944
總結
以上是生活随笔為你收集整理的写入MySQL报错超出 max_allowed_packet 的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 没有窗帘对睡眠有影响吗 打算不装窗帘可以
- 下一篇: MySQL的Found_ROWS函数介绍
