分割.sql备份文件

时间:2019-03-07 11:23:39

标签: mysql ssh

我每周从托管服务器下载数据库备份。它会生成一个.sql文件,当前大小约为800mb。该.sql文件包含44个表。

是否可以通过某些软件将所有表拆分为.sql文件,以便分别导出每个表?

因此,如果我必须在某个时候重置备份,则可以按表进行备份,而不必对整个数据库进行备份。

1 个答案:

答案 0 :(得分:1)

此后,我不会分割它,如果您可以通过ssh访问服务器,则可以(并且在我看来)可以执行以下操作:

for table in `mysql -u [USER] -p[PASSWORD] -N -B -e 'show tables from [DATABASE]'`;
do
    mysqldump --skip-comments --compact -u [USER] -p[PASSWORD] [DATABASE] $table  > $table.sql 
    && tar -czvf $table.tar.gz $table && rm $table.sql
done;

每个表应生成一个文件。然后,在.gz文件中放置目录的任何位置,都应该以所需的方式进行备份。