mysql - 如何在 Windows 中为每个文件安排一个表的 MySQL 数据库备份?
问题描述
我正在使用 MySQL Server 5.5,需要安排每日数据库备份。我目前在批处理文件中执行以下操作:
set currdate=%date:~4%
Set FileDate=%currdate:/=_%
mysqldump -u root-proot db > "C:\backup\database\db%FileDate%.sql"
它将所有表导出到一个文件中。我想为每个表导出一个文件。
解决方案
下面首先将所有表名输出到一个临时文件,然后遍历它们,将每个表名转储到一个适当命名的文件中:
@echo off
set currdate=%date:~4%
set filedate=%currdate:/=_%
mysql --skip-column-names -u root -proot db -e "show tables;" > tables.tmp
for /f "skip=3 delims=|" %%t in (tables.tmp) do (
mysqldump -u root -proot db %%t > "C:\backup\database\db_%%table_%filedate%.sql"
)
del tables.tmp
推荐阅读
- python - 删除第一组之后出现的重复组
- python - 了解 Pandas DataFrame 中 dtypes 支持类型的简单方法
- ios - 使用委托和 RxCocoa 显示“#selector”的参数是指未暴露给 Objective-C 的实例
- javascript - 在全屏页面上滚动添加图像到页面
- angular - NullInjectorError:没有 t 的提供者
- python - 保持示例索引与 tf.keras.predict 和 tf.data.Dataset 的对应关系
- amazon-web-services - Jenkins 登录后重定向到 Http
- operating-system - 逻辑地址空间大于物理和后备存储的总和
- django - 我应该在哪里处理诸如触发 django rest 框架中的通知之类的事情
- javascript - 我需要做一个倒计时