Skip to content

Instantly share code, notes, and snippets.

@Yhzhtk
Last active June 30, 2021 17:04
Show Gist options
  • Save Yhzhtk/6303992 to your computer and use it in GitHub Desktop.
Save Yhzhtk/6303992 to your computer and use it in GitHub Desktop.
备份Mysql的windows脚本。设置好需要备份的数据库名和备份路径,数据库用户和密码。运行即可,也可以设置定时任务,每天备份。
@echo off
:: 备份mysql脚本,可以用于设置定时任务
:: 备份数据库名
set dbname=ebook
:: 备份路径
set backpath=E:/MySql_Back/backsql/
:: 数据库用户名
set user=root
:: 数据库密码
set pwd=root
set hour=%time:~0,2%
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%
set secs=%time:~6,2%
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
set year=%date:~0,4%
set month=%date:~5,2%
if "%month:~0,1%" == " " set month=0%month:~1,1%
set day=%date:~8,2%
if "%day:~0,1%" == " " set day=0%day:~1,1%
set datetime=%year%%month%%day%_%hour%%min%%secs%
set datetime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo %datetime% backup start: %dbname%
echo %datetime% backup start: %dbname% >> backmysql.log
netstat -na | (find "0.0.0.0:3306" & find "LISTENING") >> backmysql.log
set backname=%backpath%%dbname%_%datetime%.sql
echo start mysqldump to %backname% >> backmysql.log
echo mysqldump -uroot -p%pwd% %dbname% > %backname% >> backmysql.log
mysqldump -uroot -p%pwd% %dbname% > %backname%
echo end mysqldump >> backmysql.log
set datetime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo %datetime% backup end >> backmysql.log
echo %backname% back ok
echo ================================================ >> backmysql.log
@Yhzhtk
Copy link
Author

Yhzhtk commented Aug 22, 2013

dos命令太老了,使用相当不方便,被坑了好久。比如set 赋值时等号两边不能有空格,字符串定义不需要引号,字符串拼接直接连着写上就行了,不需要额外的+或者引号什么的。
记录下来防止再出错

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment