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

Muh*_*han 0 mysql database backup batch-file

我正在尝试自动备份mysql数据库 ; 搜索了很多链接,得到了很多参考,但是甚至找不到适合我的单个选项(接受付费软件)。最后,我正在尝试此链接

现在我有了批处理脚本(如下所示),我根据自己的凭据对其进行了编辑,但是它正在创建空的SQL文件。不知道为什么 我是MYSQL的新手,它的自动备份机制非常差。

@ECHO OFF

set TIMESTAMP=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%

REM Export all databases into file C:\path\backup\databases.[year][month][day].sql
"C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe" –-user=root –-password=xyz --all-databases --result-file="D:\dbbackup.%TIMESTAMP%.sql"

REM Change working directory to the location of the DB dump file.
C:
CD \path-to\backup\

REM Compress DB dump file into CAB file (use "EXPAND file.cab" to decompress).
MAKECAB "databases.%TIMESTAMP%.sql" "databases.%TIMESTAMP%.sql.cab"

REM Delete uncompressed DB dump file.
DEL /q /f "databases.%TIMESTAMP%.sql"
Run Code Online (Sandbox Code Playgroud)

我运行此批处理文件,它创建备份但空的sql文件。

Muh*_*han 5

为了将来提供参考和帮助,我正在更新我的答案!只需根据您的配置更新以下批处理文件:

echo off 
start "" "C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe(your mysqldump address)" --user root --password=(provide here) databaseNameHere --result-file="D:\where you want path with SqlFileName.sql" --database databaseNameHere
Run Code Online (Sandbox Code Playgroud)

您可以使用

。%date:〜10,4%-%date:〜7,2%-%date:〜4.2%引用

在您的备份文件名中,它还将日期存储在文件名中。

然后使用Windows Task Schedule定期运行此批处理文件。