我正在使用批处理文件在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)
)
答案 0 :(得分:1)
您需要使用mysqldump --tab
将每个表保存在单独的文件中。实际上,有两个文件:一个用于DDL的.sql文件和一个用于数据的.csv文件。
然后,您可以使用mysqlimport --use-threads <n>
以多线程方式从csv文件加载数据。
有关详细信息,请参阅https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html和https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html。