【问题标题】:Even after +500mb set in max_allowed_packet... it still gives me an error即使在 max_allowed_pa​​cket 中设置了 +500mb ... 它仍然给我一个错误
【发布时间】:2012-12-25 03:31:38
【问题描述】:

我刚刚将我的 Drupal 站点移至新的托管 VPS。

每次我尝试运行 cron 时,都会收到这个令人讨厌的错误:

警告:收到的数据包大于 'max_allowed_pa​​cket' 字节查询: INSERT INTO 看门狗(uid、类型、消息、变量、严重性、链接、 位置,引用者,主机名,时间戳)值(1,'php','%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user 警告\";s:8:\"%message\";s:1582172:\"得到一个大于 'max_allowed_pa​​cket' 字节\n查询:更新 cache_update SET 数据 = 'a:72:{s:10:\"admin_menu\";a:10:{s:5:\"title\";s:19:\"管理 menu\";s:10:\"short_name\";s:10:\"admin_menu\";s:10:\"dc:creator\";s:3:\"sun\";s:11: \"api_version\";s:3:\"6.x\";s:17:\"recommended_major\";s:1:\"1\";s:16:\"supported_major\";s: 3:\"1,3\";s:13:\&qu 在 /home/drupal/includes/database.mysql.inc 第 135 行

问题是我已将 max_allowed_pa​​cket 设置为 64,然后是 100,然后是 250,然后是 512! 仍然给我这个错误。

该错误似乎与 admin_menu 模块有关,但即使禁用该模块后,错误仍然存​​在(引用其他模块)并且禁用该其他模块后,错误仍然存​​在,依此类推。

似乎问题与 mySQL 表“cache_update”有关,但我不明白发生了什么。即使在搜索 Drupal 论坛之后,我也无法解决问题。刚刚找到了一些破解核心的方法,这并不好。

我认为这是一个特定于 mysql 的问题,所以这就是我在此处发布此内容的原因。

感谢您的洞察!

蔷薇

【问题讨论】:

    标签: mysql drupal caching


    【解决方案1】:

    需要考虑的几件事:

    1. 您确定max_allowed_packet 的语法正确吗?您是否指定单位?即max_allowed_packet = 512M

    2. 您确定 MySQL 使用的是您正在编辑的同一 my.cnf 文件吗?从控制台登录 MySQL,运行:SHOW GLOBAL VARIABLES; max_allowed_packet 设置正确吗?

    3. 最后,如果全部失败,请考虑通过 Drupal Tweaks 模块解决此问题:http://drupal.org/project/drupal_tweaks

    【讨论】:

    • 感谢您的回复!!我托管的人已经更改了值,所以我假设他们使用了正确的语法。也许我应该自己去验证一下……
    • 我在 phpmyadmin 与 root 用户核实过,这是配置:可变会话值/全局值最大允许数据包 1,048,576 从属最大允许数据包 1,073,741,824
    • 我用控制台检查过,它说的一样:+--------------------+------- --+ |变量名 |价值 | +--------------------+----------+ | max_allowed_pa​​cket | 1048576 | +--------------------+---------+ 1 行在集合中(0.00 秒)
    • 也许该值可能需要更高。为了测试,你能把它推得更高吗?当然,不要让它在生产中超高。
    • 奇怪的是,这是一个生产站点,而且这个错误只是在迁移到另一个 VPS 之后才出现......
    猜你喜欢
    • 2012-12-11
    • 2017-11-12
    • 2013-06-16
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多