mysql服务器已经消失了--最大\u允许\u数据包=2g也不起作用

s4chpxco  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(640)

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

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

插入带有longblob字段的表条目时出错。我试过网上所有的建议,比如使用 --max_allowed_packet 中的导出和导入 utf8 ,正在导出 --hex-blob ,增加 wait_timeout 以及 interactive_timeout 等等,但什么都没用!
我挖得更深一点,注意到 --max_allowed_packet 设置不正确。我在用lampp,在文件里 /opt/lampp/etc/my.cnf ,我在[mysqld]部分下有以下内容。

  1. max_allowed_packet = 2G

但是,mariadb仍然显示其值仅设置为1 mb。为什么会这样?我停止并重新启动lampp服务器,但仍然没有结果。即使从命令行设置这个参数,如下所示,也行不通!

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

在这两种情况下,当我查询它的值时,我得到以下结果。

  1. MariaDB [(none)]> SHOW VARIABLES LIKE 'max_allowed_packet';
  2. --------------
  3. SHOW VARIABLES LIKE 'max_allowed_packet'
  4. --------------
  5. +--------------------+---------+
  6. | Variable_name | Value |
  7. +--------------------+---------+
  8. | max_allowed_packet | 1048576 |
  9. +--------------------+---------+

我怎样才能解决这个问题?请注意,我是以root用户身份登录的。

2hh7jdfx

2hh7jdfx1#

好的,我已经解决了这个问题。下面是我如何做到的。
在mysql shell中(通过键入 /opt/lampp/bin/mysql -h localhost -u root -p ),设置 max_allowed_packet ,像这样。

  1. SET GLOBAL max_allowed_packet=1073741824;

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

  1. SHOW VARIABLES LIKE 'max_allowed_packet';

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

  1. +--------------------+------------+
  2. | Variable_name | Value |
  3. +--------------------+------------+
  4. | max_allowed_packet | 1073741824 |
  5. +--------------------+------------+

相关问题