如何更改 max_allowed_packet 大小
我的 MySQL 数据库中的 BLOB 字段有问题 - 当上传大于约 1MB 的文件时,我收到一个错误 不允许大于 max_allowed_packet 的数据包.
I am having a problem with BLOB fields in my MySQL database - when uploading files larger than approx 1MB I get an error Packets larger than max_allowed_packet are not allowed.
这是我尝试过的:
在 MySQL 查询浏览器中,我运行了一个 show variables like 'max_allowed_packet'
这给了我 1048576.
In MySQL Query Browser I ran a show variables like 'max_allowed_packet'
which gave me 1048576.
然后我执行查询 set global max_allowed_packet=33554432
后跟 show variables like 'max_allowed_packet'
- 它按预期给了我 33554432.
Then I execute the query set global max_allowed_packet=33554432
followed by show variables like 'max_allowed_packet'
- it gives me 33554432 as expected.
但是当我重新启动 MySQL 服务器时,它神奇地回到了 1048576.我在这里做错了什么?
But when I restart the MySQL server it magically goes back to 1048576. What am I doing wrong here?
额外的问题,是否可以压缩 BLOB 字段?
Bonus question, is it possible to compress a BLOB field?
推荐答案
在 my.ini
或 ~/.my.cnf
文件中更改,包括单行在文件中的 [mysqld]
或 [client]
部分下:
Change in the my.ini
or ~/.my.cnf
file by including the single line under [mysqld]
or [client]
section in your file:
max_allowed_packet=500M
然后重启 MySQL 服务就大功告成了.
then restart the MySQL service and you are done.
有关详细信息,请参阅文档.
See the documentation for further information.
相关文章