当我尝试来源大型SQL文件(大型INSERT查询)时出现此错误。
INSERT
mysql> source file.sql ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 2 Current database: *** NONE *** ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 3 Current database: *** NONE ***
表中的任何内容均未更新。我尝试删除和取消删除表/数据库,以及重新启动MySQL。这些都不是解决问题的方法。
这是我的最大数据包大小:
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+
这是文件大小:
$ ls -s file.sql 79512 file.sql
当我尝试其他方法时…
$ ./mysql -u root -p my_db < file.sql Enter password: ERROR 2006 (HY000) at line 1: MySQL server has gone away
max_allowed_packet=64M
将此行添加到my.cnf文件中解决了我的问题。
my.cnf
当列的值较大会导致问题时,此功能很有用,您可以在此处找到说明。
在Windows上,此文件位于:“ C:\ ProgramData \ MySQL \ MySQL Server 5.6” 在Linux(Ubuntu)上:/ etc / mysql
在Windows上,此文件位于:“ C:\ ProgramData \ MySQL \ MySQL Server 5.6”
在Linux(Ubuntu)上:/ etc / mysql