mysql導入大批量數據出現MySQL server has gone away的解決方法


因工作需要,需要導入一個200M左右的sql到數據庫

用navicate導入會出現MySQL server has gone away是因為數據過大,需要調整參數:如下

查看mysql max_allowed_packet的值

mysql> show global variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+

可以看到是4M,然后調大為256M(1024*1024*256)

mysql> set global max_allowed_packet=268435456;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'max_allowed_packet';
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| max_allowed_packet | 268435456 |
+--------------------+-----------+
1 row in set (0.00 sec)

修改后執行導入,一切正常,解決問題。 

使用set global命令修改 max_allowed_packet 的值,重啟mysql后會失效,還原為默認值。

如果想重啟后不還原,可以打開 my.cnf 文件,添加 max_allowed_packet = 256M 即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM