我刚刚将我的Drupal网站移动到新的托管VPS。
每次我尝试运行cron时,都会遇到这个令人讨厌的错误:
警告:获取的数据包大于'max_allowed_packet'字节查询: INSERT INTO看门狗(uid,类型,消息,变量,严重性,链接, location,referer,hostname,timestamp)VALUES(1,'php','%message in in %行上的%文件。','a:4:{s:6:\“%error \”; s:12:\“用户 警告\“; s:8:\”%message \“; s:1582172:\”有一个大于的数据包 'max_allowed_packet'bytes \ nquery:UPDATE cache_update SET data = “一个:72:{S:10:\ “admin_menu \”;一个:10:{S:5:\ “称号\”; S:19:\“管理 菜单\ “; S:10:\” SHORT_NAME \ “; S:10:\” admin_menu \ “; S:10:\” DC:创建者\ “; S:3:\” 太阳\“; S:11: \ “API_VERSION \”; S:3:\ “6.x的\”; S:17:\ “recommended_major \”; S:1:\ “1 \”; S:16:\ “supported_majors \”; S: 3:\ “1,3 \”; S:13:\&安培;曲 在第135行的/home/drupal/includes/database.mysql.inc中
问题是我将max_allowed_packet设置为64,然后是100,然后是250,然后是512! 还是给了我那个错误。
该错误似乎与admin_menu模块有关,但即使在禁用该模块后,错误仍然存在(引用其他模块),并且在禁用该其他模块后,错误仍然存在,依此类推。
似乎问题与mySQL表“cache_update”有关,但我不明白发生了什么。即使在搜索Drupal论坛后,我也无法解决问题。刚刚找到了一些破解核心的方法,但并不好。
我认为这是一个特定于mysql的问题,所以这就是我在这里发布的原因。
感谢您的见解!
Rosamunda
答案 0 :(得分:1)
很少有事情需要考虑:
您确定max_allowed_packet
的语法是否正确?你在指定单位吗?即max_allowed_packet = 512M
您确定MySQL使用的是您正在编辑的my.cnf
文件吗?从控制台登录MySQL,然后运行:SHOW GLOBAL VARIABLES;
max_allowed_packet
设置正确吗?
最后,如果全部失败,请通过Drupal Tweaks模块考虑此解决方法:http://drupal.org/project/drupal_tweaks