今天对一个网站更换服务器的时候,使用mysqldump导出数据库,然后到通过 source 导入数据库,出现了异常。导致数据不完整。
出现的错误
EROR 2c06 (HYce0) at line 129 in file: '/data/test/sql.sql': MySQL server has gone awayNo connection.Trying to reconnect. . .
原因查找
经过排查,后发现是出现的两次错误提示,都是是发生在 insert 语句中,并且该语句特别特别长。本来文章表有很多文章,要两次导入,结果并没有导入完整的数据。
解决的方法
mysqldump --extended-insert=FALSE --complete-insert=TRUE dbname > sql.sql
执行mysqldum时候,通过添加 --extended-insert=FALSE --complete-insert=TRUE 参数,导出的sql语句中, insert 一条语句,只导出一条的数据。