MySQL 服务器已消失错误。 --max_allowed_packet=2G也不行
MySQL server has gone away error. --max_allowed_packet=2G doesn't work either
我在尝试导入 MySQL table.
时不断收到以下错误
ERROR 2006 (HY000) at line 15692: MySQL server has gone away
插入带有 longblob 字段的 table 条目时发生错误。我已经尝试了互联网上建议的所有方法,例如使用 --max_allowed_packet
、在 [=17= 中明确导出和导入、在 [=18= 中导出]、增加 wait_timeout
和 interactive_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 |
+--------------------+---------+
我该如何解决这个问题?请注意,我是以根用户身份登录的。
好的,我已经解决了问题。如下所示,是我的做法。
在一个MySQLshell中(输入/opt/lampp/bin/mysql -h localhost -u root -p
打开一个),设置max_allowed_packet
的值,像这样。
SET GLOBAL max_allowed_packet=1073741824;
退出那个MySQLshell后,这个值应该已经设置好了。如果您现在返回到新的 MySQL shell,然后键入以下内容,
SHOW VARIABLES LIKE 'max_allowed_packet';
它显示正确的值,如下所示。
+--------------------+------------+
| Variable_name | Value |
+--------------------+------------+
| max_allowed_packet | 1073741824 |
+--------------------+------------+
我在尝试导入 MySQL table.
时不断收到以下错误ERROR 2006 (HY000) at line 15692: MySQL server has gone away
插入带有 longblob 字段的 table 条目时发生错误。我已经尝试了互联网上建议的所有方法,例如使用 --max_allowed_packet
、在 [=17= 中明确导出和导入、在 [=18= 中导出]、增加 wait_timeout
和 interactive_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 |
+--------------------+---------+
我该如何解决这个问题?请注意,我是以根用户身份登录的。
好的,我已经解决了问题。如下所示,是我的做法。
在一个MySQLshell中(输入/opt/lampp/bin/mysql -h localhost -u root -p
打开一个),设置max_allowed_packet
的值,像这样。
SET GLOBAL max_allowed_packet=1073741824;
退出那个MySQLshell后,这个值应该已经设置好了。如果您现在返回到新的 MySQL shell,然后键入以下内容,
SHOW VARIABLES LIKE 'max_allowed_packet';
它显示正确的值,如下所示。
+--------------------+------------+
| Variable_name | Value |
+--------------------+------------+
| max_allowed_packet | 1073741824 |
+--------------------+------------+