因工作需要,需要導入一個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 即可。