2016-04-25 99 views
0

我正在尝试使自动备份mysql数据库;搜索了很多链接有很多参考,但甚至没有找到适合我的单一选项(接受付费软件)。最后我试着用这个link使用批处理自动执行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" 

我运行这个批处理文件,它创建备份,但空的SQL文件。

回答

3

为了将来的参考和帮助,我将更新我的答案!只是根据自己的配置更新以下批处理文件:

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 

可以使用

%日期:10.4〜% - %日期:7,2〜% - %日期:〜 4,2% Blockquote

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

然后使用windows task schedule定期运行此批处理文件。

0

这对我的作品要利用MySQL数据库备份

@echo off 
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" --user=root -- 
password=root --result-file="C:\Users\supriyam\Desktop\HotelBooking\db.sql" 
databasename(doctorsystem) 
echo Done! 
pause 
exit