SET GLOBAL max_allowed_packet不起作用。

19 浏览
0 Comments

SET GLOBAL max_allowed_packet不起作用。

我发现了如何使用SET GLOBAL在MySQL中更改max_allowed_packet的默认值。然而,每次我使用这个命令时,默认值都没有改变!

我使用了以下命令:

mysql --user=root --password=mypass
mysql> SET GLOBAL max_allowed_packet=32*1024*1024;
Query OK, 0 rows affected (0.00 secs)
mysql> SHOW VARIABLES max_allowed_packet;

然后结果是max_allowed_packet = 1048576。我漏掉了什么?

0
0 Comments

在使用MariaDb配置的情况下,max_allowed_packet变量可能被稍后调用的配置文件覆盖。在我的情况下,我尝试导入一个数据库,但服务器返回了以下错误信息:ERROR 2006 (HY000) at line 736: MySQL server has gone away。我发现文件/etc/mysql/mariadb.conf.d/50-server.cnf被后调用的文件/etc/mysql/conf.d/mysql.cnf覆盖了。我尝试不断地在"mysql.cnf"文件中进行更改,但是值仍然被"50-server.cnf"覆盖。因此,解决方法是进入文件/etc/mysql/mariadb.conf.d/50-server.cnf,将"max_allowed_packet = 16M"替换为想要的值,例如"max_allowed_packet = 64M",这对我起到了作用,然后我运行了service mariadb restartservice apache2 restart

0
0 Comments

SET GLOBAL max_allowed_packet doesn't work的原因是在修改max_allowed_packet的值之后,需要重新启动mysql才能使新的值生效。但是在通过MAC OSX系统偏好设置重新启动mysql时,新的值没有被更新。因此,通过控制台登录mysql,修改max_allowed_packet的值,然后重新启动mysql可以解决这个问题。可能是因为OS X的一个小问题导致的。

解决方法:

1. 通过控制台登录mysql:

mysql -u root -p

2. 修改max_allowed_packet的值:

set global max_allowed_packet=1000000000;

3. 重新启动mysql,使新的值生效。

0
0 Comments

SET GLOBAL max_allowed_packet doesn't work 这个问题的出现原因是因为更改全局系统变量后,需要重启服务器才能生效。全局变量的更改只对新连接有效,对于当前已连接的客户端不会生效。解决方法是需要在my.ini/my.cnf文件中更改max_allowed_packet的设置,并重启服务器。对于RedHat用户,修改配置文件后需要进行完整的mysqld重启。

希望这篇文章对你有帮助,如果还有其他问题,请随时提问。

0