我执行了一个不正确的SQL命令:
SET GLOBAL init_connect='SET CHARACTER SET=utf-8';现在,当我尝试运行一个连接到这个数据库的脚本时,我会得到以下错误:_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')。
如何重置全局init_connect值?
发布于 2012-02-21 00:24:10
您需要将初始化放在/etc/my.cnf中。
[mysqld]
init_connect='SET CHARACTER SET=utf-8';这将在下次mysql重新启动后为您设置变量。
如果您的用户名具有超级特权,则不必再次动态地设置变量,因为您已经在前面使用SET GLOBAL init_connect='SET CHARACTER SET=utf-8';进行了全局设置。
至于“MySQL服务器已经消失了”,最常见的原因是超时。请将等和互动式设置为足够大的值(默认为28800秒8个小时)。在MySQL文档中指定了其他原因。
由于您正在更改字符集以处理多字节字符串,您可能需要确保MySQL数据包更大(至少是当前配置的三倍)。我会把它撞到256米
[mysqld]
init_connect='SET CHARACTER SET=utf-8';
max_allowed_packet=256M我建议这样做,因为有时错误2006:“MySQL服务器已经消失了”是由于MySQL数据包不够大造成的。我早些时候写过这方面的文章:
https://dba.stackexchange.com/questions/13435
复制相似问题