Mysql – 在导入时得到大于'max_allowed_pa​​cket'字节的数据包)

我试图找出为什么我的数据库转储不会导入到我的新服务器上。 我在用着:

mysql --max_allowed_packet=512M -uDB_USERNAME -pPASS DB_NAME < /root/backup.sql 

运行一段时间后,我进入/var/log/mysql/error.log

 2017-09-19T15:00:06.077222Z 130 [Note] Aborted connection 130 to db: 'DB_NAME' user: 'DB_USER' host: 'localhost' (Got a packet bigger than 'max_allowed_packet' bytes) 

和“mysql”CLI调用返回:

 ERROR 2006 (HY000) at line 5995: MySQL server has gone away 

这里是一些其他的MySQLconfiguration:

 key_buffer_size = 16M max_allowed_packet = 512M thread_stack = 192K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover-options = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # 

我有些不知所措。 有什么build议么? SQL文件是7GB,并且在旧服务器上保留的表格是5GB。

谢谢!

在你input的input行5995你应该find一条长度超过512M的行。 调整你的max_allowed_pa​​cket覆盖它* 1.25有一点喘息的空间。