我有一个大约6GB的数据库,它有一个1260万行的表.我尝试通过以下方式将数据库导出到SQL转储中:
mysqldump -u root -p db_name> db_name.sql
命令完成后,导出的SQL转储文件大约为2GB,主表只导出大约100万行.
什么可能是错的?
出于某种原因,有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如果您愿意,可以用不同的尺寸替换.