MySQL服务器已经消失了。 --max_allowed_pa​​cket = 2G也不起作用

时间:2018-05-12 12:03:42

标签: mysql blob lampp

尝试导入MySQL表时,我经常遇到以下错误。

ERROR 2006 (HY000) at line 15692: MySQL server has gone away

插入带有longblob字段的表的条目时发生错误。我已尝试在互联网上建议的所有内容,例如使用--max_allowed_packet,导出和导入utf8中的明确,导出--hex-blob,增加wait_timeoutinteractive_timeout等,但没有任何作用!

我挖得更深一点,注意到--max_allowed_packet的值没有正确设置。我正在使用LAMPP,在文件/opt/lampp/etc/my.cnf中,我在[mysqld]部分下面有以下内容。

max_allowed_packet = 2G

但是,MariaDB仍然显示其值设置为仅1 MB。为什么会那样?我停下来重新启动了LAMPP服务器,但仍无济于事。即使从命令行设置此参数,如下所示,也不起作用!

/opt/lampp/bin/mysql -h localhost --max_allowed_packet=2G -u root -p

在这两种情况下,当我查询其值时,我得到以下内容。

MariaDB [(none)]> SHOW VARIABLES LIKE 'max_allowed_packet';
--------------
SHOW VARIABLES LIKE 'max_allowed_packet'
--------------

+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+

我该如何解决这个问题?请注意,我以root用户身份登录。

1 个答案:

答案 0 :(得分:0)

好的,我已经解决了这个问题。如下所示,我是如何做到的。

在MySQL shell中(通过键入/opt/lampp/bin/mysql -h localhost -u root -p打开一个),设置max_allowed_packet的值,就像这样。

SET GLOBAL max_allowed_packet=1073741824;

退出MySQL shell后,应该设置此值。如果您现在返回到新的MySQL shell,并键入以下内容,

SHOW VARIABLES LIKE 'max_allowed_packet';

显示正确的值,如下所示。

+--------------------+------------+
| Variable_name      | Value      |
+--------------------+------------+
| max_allowed_packet | 1073741824 |
+--------------------+------------+