windows环境下 定时自动备份Mysql数据库

思路:

使用windows的任务计划程序定时调用bat批处理文件进行自动备份MySql数据库。

1、先准备bat文件

@echo off

set yyyy=%date:~,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
if /i %time:~0,2% lss 10 set hh=0%time:~1,1%
if /i %time:~0,2% geq 10 set hh=%time:~0,2%
set mn=%time:~3,2%
set ss=%time:~6,2%
set date=%yyyy%%mm%%dd%
set time=%hh%%mn%%ss%
set filename=%date%_%time%

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump">mysqldump --opt -P3306 -u root --password=root ju >c:/ju_%filename%.sql

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump">mysqldump --opt -P3306 -u root --password=root mytest >c:/mytest_%filename%.sql

@echo on
@pause

其中

-u 表示要登录的用户名称

--password= 用来设置密码

mytest 为 数据库名称 

c:/mytest_.sql  为最终生成的文件及对应路径

-h127.0.0.1 指定ip地址

-P3341 指定端口

2、创建任务

控制面板》管理工具》任务计划程序》创建任务

任务主要填写

常规:

名称

勾选》不管用户是否登录都要运行

勾选》使用最高权限运行

触发器:

新建一个,选择好时间就行

操作:

新建一个,选中上面准备好的bat文件。

 

附录:批处理文件的注释方式

写bat批处理也一样,都要用到注释的功能,这是为了程式的可读性


在批处理中,段注释有一种比较常用的方法:

    goto start
     = 可以是多行文本,可以是命令
     = 可以包含重定向符号和其他特殊字符
     = 只要不包含 :start 这一行,就都是注释
    :start


另外,还有其他各种注释形式,比如:
 
   1、:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)
    2、rem 注释内容(不能出现重定向符号和管道符号)
    3、echo 注释内容(不能出现重定向符号和管道符号)〉nul
    4、if not exist nul 注释内容(不能出现重定向符号和管道符号)
    5、:注释内容(注释文本不能与已有标签重名)
    6、%注释内容%(可以用作行间注释,不能出现重定向符号和管道符号)
    7、goto 标签 注释内容(可以用作说明goto的条件和执行内容)
    8、:标签 注释内容(可以用作标签下方段的执行内容)

附录:一个调试定时任务的bat

往aaa.txt文件写入文字

@echo off

set yyyy=%date:~,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
if /i %time:~0,2% lss 10 set hh=0%time:~1,1%
if /i %time:~0,2% geq 10 set hh=%time:~0,2%
set mn=%time:~3,2%
set ss=%time:~6,2%
set date=%yyyy%%mm%%dd%
set time=%hh%%mn%%ss%
set filename=%date%_%time%

@echo yyyyMMdd>c:\aaa.txt %创建文件aaa并写入yyyymmdd%
@echo HHmmss>>c:\aaa.txt %在文件aaa追加文字hhmmss%
@echo %filename%>>c:\aaa.txt

@echo on
@pause

 

 

 

 

你可能感兴趣的:(C#,mysql,数据库,windows)