mysql在win服务器中的定时备份和还原bat脚本

使用环境是,在测试服务器下,每天定时备份当天的数据,然后还原之前的原始数据库;

还原是为了:做到每天恢复测试环境,第二天又可以重复操作,

备份是为了:如果有些数据更改后,需要已这一份为准,可以把数据保存下来,避免定时恢复后,遗忘。。。

备份:

cd C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
mysqldump -uroot -p123456 databasenametest > D:\test/test%Ymd%.sql exit

还原:

cd C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin
mysql -uroot -p123456 test < D:\test/test.sql
exit

 

后来还发现了一个问题:

如果在执行过程中出现,0kb的sql文件,是有问题的,

可以进入到bin目录中,打开cmd,执行命令看具体报错原因,

如果是远程连接引起的,可以参考另一篇

https://www.cnblogs.com/zxh06820/p/12616567.html

 

如果在其他盘符还需要注意cd切换盘符的问题;先切换到C盘  直接C:

另外一个还需要注意端口问题;

C:
cd C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
mysqldump -utest -p123456 --port=3307 --tables test > D:/mysqldata/newdata%Ymd%.sql
exit

调试过程可以使用

pause命令加在最后面,会显示控制台的信息

 

 

 之前遗漏的

 

 

 

参考的:

备份

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" 
md "D:\databackup\%Ymd%" 
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" --opt -Q databasename -uroot -p123456 > D:\databackup\databasename%Ymd%.sql

@echo off
mshta vbscript:msgbox("mysql backup successed!!!",6,"mysql backup")(window.close)

恢复

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" -uroot -p123456 ensjp < D:\databackup\databasename.sql 
@echo off
mshta vbscript:msgbox("mysql restore successed!!!",6,"mysql restore")(window.close)

 

关于一些解释

md 命令是用来创建文件夹的 

 

posted @ 2020-03-25 15:05  金鑫金  阅读(695)  评论(1编辑  收藏  举报