使用批处理文件将每个表备份在单独的文件中的MySQL数据库

时间:2017-10-10 23:00:25

标签: mysql batch-file

我正在使用批处理文件在Windows上备份我的MySQL数据库。如何将每个表保存在单个文件中?当前批处理文件将所有表保存到每个数据库的一个文件中。

这是批处理文件

FOR /D %%F IN (*) DO (

SET %%F=!%%F:@002d=-!
%mysqldumpexe% --user=%dbuser% --password=%dbpass% --databases --routines --log-error=%errorLogPath% %%F > "%backupfldr%%%F.%backuptime%.sql"

::How- Grab the list of tables inside the current database
::How- Backup current table from the current database into a.sql (database-table_name.sql)
)

1 个答案:

答案 0 :(得分:1)

您需要使用mysqldump --tab将每个表保存在单独的文件中。实际上,有两个文件:一个用于DDL的.sql文件和一个用于数据的.csv文件。

然后,您可以使用mysqlimport --use-threads <n>以多线程方式从csv文件加载数据。

有关详细信息,请参阅https://dev.mysql.com/doc/refman/5.7/en/mysqldump.htmlhttps://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html