大きな SQL ファイル (大きなクエリ) をソースしようとすると、このエラーが発生します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
ベストアンサー1
max_allowed_packet=64M
この行をmy.cnf
ファイルに追加すると問題が解決します。
これは、列に大きな値があり、問題が発生する場合に便利です。説明はここ。
Windows では、このファイルは「C:\ProgramData\MySQL\MySQL Server 5.6」にあります。
Linux (Ubuntu)の場合: /etc/mysql