php - 如何检查和设置 max_allowed_pa​​cket mysql 变量

标签 php mysql

Possible Duplicate:
MySQL Error 1153 - Got a packet bigger than ‘max_allowed_packet’ bytes

您好,我收到错误消息:

[1153] 得到一个大于 'max_allowed_pa​​cket'bytes 的数据包

但我没有对我的源代码进行任何更改,并且托管方声明他们没有对服务器设置进行任何更改。

我不知道发生了什么。但我正在努力寻找原因。

那么,如何通过 php 脚本检查 max_allowed_pa​​cket mysql 变量?

可以在源代码中设置吗?

最佳答案

max_allowed_pa​​cket 在 mysql 配置中设置,而不是在 php 端

[mysqld]
max_allowed_packet=16M 

你可以像这样在 mysql 中看到它的当前值:

SHOW VARIABLES LIKE 'max_allowed_packet';

您可以尝试像这样更改它,但这不太可能适用于共享主机:

SET GLOBAL max_allowed_packet=16777216;

你可以在这里阅读 http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html

编辑

[mysqld] 是使 max_allowed_pa​​cket 至少从 mysql 版本 5.5 开始工作所必需的。

最近在 AWS EC2 上使用 Drupal 和 Solr 搜索引擎设置了一个实例,需要 32M max_allowed_pa​​cket。如果您在/etc/my.cnf 中的 [mysqld_safe] (这是 mysql 安装附带的默认设置)模式下设置值,它不起作用。我没有深入研究这个问题。但是在我把它改成 [mysqld] 并重新启动mysqld之后,它就起作用了。

关于php - 如何检查和设置 max_allowed_pa​​cket mysql 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688403/

相关文章:

php - MySQL 表连接

MySQL CLI 客户端更改套接字位置

python - 安全地将python程序连接到mysql

mysql - MariaDB、Workbench 和删除时设置默认值

PHP "Notice: Undefined index"是无害的还是真正的错误?

javascript - 如何通过 html 中的单选按钮将简单的 int 变量存储在服务器上?

PHP 与 neo4j 的连接 "cURL error 7"

php - 如何从 youtube 嵌入中删除更多视频?

mysql - G-WAN 和持久 MySQL 连接

mysql - 从三个不同的表中选择最大值和其他值