mysqldump进行部分备份 - 不完整的表转储

dat*_*.io 1 mysql mysqldump

我有一个大约6GB的数据库,它有一个1260万行的表.我尝试通过以下方式将数据库导出到SQL转储中:

mysqldump -u root -p db_name> db_name.sql

命令完成后,导出的SQL转储文件大约为2GB,主表只导出大约100万行.

什么可能是错的?

Ale*_*rge 7

出于某种原因,有2GB的文件大小限制,最简单的方法是使用split:

mysqldump ... | split -b 250m - filename.sql-
Run Code Online (Sandbox Code Playgroud)

您还可以像这样压缩文件:

mysqldump ... | gzip -9c | split -b 250m - filename.sql.gz-
Run Code Online (Sandbox Code Playgroud)

要从非压缩文件还原,请执行以下操作:

cat filename.sql-* | mysql ...
Run Code Online (Sandbox Code Playgroud)

对于压缩文件:

cat filename.sql-* | zcat | mysql ...
Run Code Online (Sandbox Code Playgroud)

当然,如果你想要一个文件,你可以tar得到结果.

显然,250m如果您愿意,可以用不同的尺寸替换.