【发布时间】:2017-07-30 07:28:59
【问题描述】:
用于查询的数据包太大 (1134 > 1024),这个总是显示,并且 max_allow_packet 被配置到 1024,要么将 ulimit 'open files' 和 MySQL 'open_files_limit' 提高到 1024000,但仍然显示此错误
【问题讨论】:
用于查询的数据包太大 (1134 > 1024),这个总是显示,并且 max_allow_packet 被配置到 1024,要么将 ulimit 'open files' 和 MySQL 'open_files_limit' 提高到 1024000,但仍然显示此错误
【问题讨论】:
你需要增加max_allowed_packet的值而不是ulimit,在执行查询之前在终端中尝试以下操作:
mysqld --max_allowed_packet=20M
或者您甚至可以在my.cnf 文件中设置以下内容并重新启动MySQL:
max_allowed_packet=20M
Here's MySQL 文档。
【讨论】:
通过增加非root用户的打开文件限制解决了这个问题$ ulimit -n
如果它是 1024 字节,那么应该通过键入增加它$ ulimit -n 2048
但如果系统重新启动,这不是一个永久的解决方案,ulimit 将恢复为默认值。要使其永久化,请按照以下链接进行操作。
作为 root,我可以将这个限制更改为我想要的任何内容,向上或向下。它甚至似乎并不关心 /proc/sys/fs/file-max 中所谓的系统范围限制
#cat /proc/sys/fs/file-max
188897
#ulimit -n 188898
#ulimit -n
188898
欲了解更多信息
https://www.tecmint.com/increase-set-open-file-limits-in-linux/
【讨论】: