我遇到问题,mysqldump(ing)我的数据库表现很奇怪,数据库中只有一个表。表中没有任何异常配置,所有列只是基本的东西,期望它有两列longtext / text数据类型,如果这确实重要。 Longtext列包含有效的xml字符串,text列包含有效的json字符串。
问题是生成的转储文件根本不包含该特定表的插入。转储文件包含其他所有内容的SQL行。转储文件甚至为该有问题的表和所有其他mysql内容创建了表格行,但该表完全缺少插入行。而不是插入,转储文件中间只有大量的空行。转储是这样完成的:
mysqldump -u root -ppassword dbname > dump.sql
我注意到,当我添加
时--extended-insert=false
到我的dump命令,dump包含一些插入行。存在具有ID 1-7的行,缺少8-9,存在10,缺少11,存在12-13等...丢失的行插入行被转储文件中的空行替换。
任何人都有任何线索,这里发生了什么?对我来说,数据似乎没有损坏,可以通过phpmyadmin界面浏览。
关于案件的一些事实
答案 0 :(得分:0)
通过使用不同的程序检查转储文件来解决问题。 LogExpert已经知道没有显示包含太多字符的行的错误。转储文件很好,问题实际上甚至不存在。
从转储文件导入失败,因为php.ini文件中的innodb缓冲区大小太小。所以有两个分离的问题使我感到困惑。
答案 1 :(得分:0)
对我来说,经过长时间的故障排除,得到了一个空白的转储文件,这是我尝试进行数据库转储的服务器上的磁盘空间问题。 看起来很傻,但发布可能会有所帮助。