备份MySql时用批处理文件排除某些数据库,但遇到了问题

埃罗克

我正在尝试通过批处理文件在Windows 2012上备份MySql数据库。

这就是我所拥有的:

    %mysql% -u %USER% -p%PASSWORD% -B -s -e"show databases" > %backupdir%\mysqldblist.tmp

    FOR /F %%D IN (%backupdir%\mysqldblist.tmp) DO (
        set DONTBACKUP=NOTHING
        ECHO Creating backup for database ''%%D''
        if [%%D]==[information_schema] set DONTBACKUP=TRUE
        if [%%D]==[mysql] set DONTBACKUP=TRUE
        if [%%D]==[performance_schema] set DONTBACKUP=TRUE
        if [%%D]==[test] set DONTBACKUP=TRUE
        PAUSE
        IF [%DONTBACKUP%]==[TRUE] %mysqldump% -u %USER% -p%PASSWORD% --result-file="%backupdir%%%D_%mydate%.sql" "%%D" 
        PAUSE
    )

我正在尝试排除mysql,performance_schema和test之类的数据库,但是它在第一次迭代后就退出了我想我只是设置一个变量并检查它是否是某个数据库,但是它没有发生,请首先检查它是否退出。

有人可以指出我在这里做错了吗?

附加信息

这是我在命令提示符窗口中看到的,如果有帮助的话:

ECHO Creating backup for database '%D'
if [%D] == [information_schema] set DONTBACKUP=TRUE
if [%D] == [mysql] set DONTBACKUP=TRUE
if [%D] == [performance_schema] set DONTBACKUP=TRUE
if [%D] == [test] set DONTBACKUP=TRUE
PAUSE
IF [] == [TRUE] "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump"...

我发现有些东西不正确,我现在正在尝试对其进行调试,但是我没有立即看到它。我不确定为什么未填充%% D或为何未填充DONTBACKUP ...

附加信息#2

我认为这是我失败的地方:

 if [information_schema] == [information_schema] set DONTBACKUP=TRUE

未将其设置为TRUE,因此它尝试进行备份。我不确定自己忽略了什么,但是为什么这次比较失败了?

百乐达克

在文件的开头添加以下行:

setlocal enabledelayedexpansion

在for循环中,查看的值时DONTBACKUP,请使用!DONTBACKUP!同样,按照逻辑,检查DONTBACKUP应该颠倒。

因此,这是修改后的文件:

setlocal enabledelayedexpansion
%mysql% -u %USER% -p%PASSWORD% -B -s -e"show databases" > %backupdir%\mysqldblist.tmp

FOR /F %%D IN (%backupdir%\mysqldblist.tmp) DO (
    set DONTBACKUP=NOTHING
    ECHO Creating backup for database ''%%D''
    if [%%D]==[information_schema] set DONTBACKUP=TRUE
    if [%%D]==[mysql] set DONTBACKUP=TRUE
    if [%%D]==[performance_schema] set DONTBACKUP=TRUE
    if [%%D]==[test] set DONTBACKUP=TRUE
    PAUSE
    IF not [!DONTBACKUP!]==[TRUE] %mysqldump% -u %USER% -p%PASSWORD% --result-file="%backupdir%%%D_%mydate%.sql" "%%D" 
    PAUSE
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用作为计划任务执行的批处理文件备份共享文件夹上的sqlite数据库?

来自分类Dev

使用Xcopy在批处理文件中复制到网络路径时遇到问题

来自分类Dev

使用批处理文件自动进行MySQL备份

来自分类Dev

在使用 php 更新数据库时,我遇到了一些问题

来自分类Dev

批处理文件以查找所有Access数据库

来自分类Dev

如何在通过批处理文件中的 URI 连接到数据库后在 psql 中使用 \copy?

来自分类Dev

在通过XML文件填充数据库和访问数据时遇到问题

来自分类Dev

当我尝试在 MySQL 中将数据插入数据库时遇到问题

来自分类Dev

批处理文件以复制最新的备份文件

来自分类Dev

批处理文件到备份文件

来自分类Dev

使用mysql dump备份mysql数据库时获取0KB的大小文件

来自分类Dev

批处理文件编码问题

来自分类Dev

批处理文件变量范围问题

来自分类Dev

批处理文件中括号的问题

来自分类Dev

批处理文件中的for循环问题

来自分类Dev

批处理文件终止问题

来自分类Dev

批处理文件SET变量问题

来自分类Dev

多行Windows批处理文件问题

来自分类Dev

mongoDB使用Java从批处理文件备份/还原?

来自分类Dev

使用批处理文件自动备份SQL Server

来自分类Dev

mongoDB使用Java从批处理文件备份/还原?

来自分类Dev

我从JDateChooser将日期存储到MySQL数据库时遇到问题

来自分类Dev

将JSON输入MySQL数据库时遇到问题

来自分类Dev

从CSV插入超过1行到mysql数据库时遇到问题

来自分类Dev

在MySQL数据库中搜索记录时遇到问题

来自分类Dev

我从JDateChooser将日期存储到MySQL数据库时遇到问题

来自分类Dev

使用MySQL / PHP中的关系数据库过滤信息时遇到问题

来自分类Dev

我在mysql数据库中插入信息时遇到问题

来自分类Dev

MySQL数据库备份

Related 相关文章

  1. 1

    如何使用作为计划任务执行的批处理文件备份共享文件夹上的sqlite数据库?

  2. 2

    使用Xcopy在批处理文件中复制到网络路径时遇到问题

  3. 3

    使用批处理文件自动进行MySQL备份

  4. 4

    在使用 php 更新数据库时,我遇到了一些问题

  5. 5

    批处理文件以查找所有Access数据库

  6. 6

    如何在通过批处理文件中的 URI 连接到数据库后在 psql 中使用 \copy?

  7. 7

    在通过XML文件填充数据库和访问数据时遇到问题

  8. 8

    当我尝试在 MySQL 中将数据插入数据库时遇到问题

  9. 9

    批处理文件以复制最新的备份文件

  10. 10

    批处理文件到备份文件

  11. 11

    使用mysql dump备份mysql数据库时获取0KB的大小文件

  12. 12

    批处理文件编码问题

  13. 13

    批处理文件变量范围问题

  14. 14

    批处理文件中括号的问题

  15. 15

    批处理文件中的for循环问题

  16. 16

    批处理文件终止问题

  17. 17

    批处理文件SET变量问题

  18. 18

    多行Windows批处理文件问题

  19. 19

    mongoDB使用Java从批处理文件备份/还原?

  20. 20

    使用批处理文件自动备份SQL Server

  21. 21

    mongoDB使用Java从批处理文件备份/还原?

  22. 22

    我从JDateChooser将日期存储到MySQL数据库时遇到问题

  23. 23

    将JSON输入MySQL数据库时遇到问题

  24. 24

    从CSV插入超过1行到mysql数据库时遇到问题

  25. 25

    在MySQL数据库中搜索记录时遇到问题

  26. 26

    我从JDateChooser将日期存储到MySQL数据库时遇到问题

  27. 27

    使用MySQL / PHP中的关系数据库过滤信息时遇到问题

  28. 28

    我在mysql数据库中插入信息时遇到问题

  29. 29

    MySQL数据库备份

热门标签

归档