导出的数据库具有不同的大小

时间:2011-01-07 12:38:16

标签: mysql mysqldump

如果我用phpmyadmin导出数据库,他的大小是18MB

如果我使用此命令从终端进行表示,则大小仅为11MB。

/ usr / bin / mysqldump --opt -u root -ppassword $ {DB} | gzip> $ {DB} .sql.gz

你可以解释一下为什么吗?是因为--otp参数?

如何确保数据库已成功导出?我应该检查它..仍然不是一个可靠的评估。感谢

2 个答案:

答案 0 :(得分:1)

根据您提供的详细信息,有许多可能的尺寸可能会有所不同。假设phpMyAdmin的输出也被gzip压缩(否则明显的原因就是一个被压缩,另一个不压缩),以下可能会在一定程度上影响大小:

  • INSERT语句的不同排序导致数据压缩性的差异
  • 一个使用扩展插入,另一个使用标准插入(这似乎很可能是因为尺寸不同)。
  • phpMyAdmin导出工具添加的更多评论
  • 等...

我建议查看导出以确定完整性(可能将其还原到测试数据库并验证所有表上的行计数是

答案 1 :(得分:0)

我没有足够的评论点,所以我在这个答案中添加我的评论......

如果从phpmyadmin导出和mysqldump查看导出文件的未压缩内容,它们将完全不同。

您可以使用diff来比较两个sql文件:

diff file1.sql file2.sql

但是,根据我的经验,在这种情况下无济于事。

您只需在您喜欢的编辑器中打开文件并进行比较即可自行查看。

正如Iridium在上一篇回答中所提到的,插入物的使用可能会有所不同。我创建了两个新的空数据库并导入到每个数据库中(通过phpmyadmin) - 上面提到的两个导出之一(一个来自phpmyadmin,另一个来自mysqldump)。

使用mysqldump导出文件的导入重新创建了包含151个表和1484个查询的数据库。

使用phpmyadmin导出文件的导入重新创建了包含151个表以及329个查询的数据库。

当然这些数字仅适用于我的例子,但它似乎符合Iridium之前所说的内容。