Mysql-导入时收到大于“max_allowed_pa​​cket”字节的数据包

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

以下是一些其他的 mySQL 配置:

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
#

我有点不知道该尝试什么。有什么建议吗?SQL 文件是 7gb,而它一直死机的表在旧服务器上是 5gb。

谢谢!

答案1

在您的输入的第 5995 行,您应该找到一行长度超过 512M 的内容。调整您的 max_allowed_pa​​cket 以覆盖它 * 1.25,以获得一点喘息空间。

相关内容