windows环境Mysql自动备份与恢复的方法

发布时间:2020-01-20编辑:脚本学堂
为大家介绍windows环境下Mysql自动备份与恢复的方法,有需要的朋友可以参考下。

1、mysql自动备份
1)首先,创建一个文件,文件名称为“backup.bat”。
2)对backup.bat文件进行编辑,写入如下内容:
 

复制代码 代码示例:
set dst=%date:~0,10%" "%time:~0,2%%time:~3,2%%time:~6,2%  //L1
C:Program" "FilesMySQLMySQL" "Server" "5.0binmysqldump --user=bst --password=1234 mydatabase > d:%dst%" "mydatabase.sql    //L2
 

 
说明:backup.bat文件中只写明2行命令。
L1获取备份数据库时系统的当前时间,%date%表示获取日期,%date:~0,10%"表示获取日期中从0位开始的10个长度;%time%表示获取时间,%time:~0,2%表示获取时间中从0位开始的2个长度。
L2是启动mysqldump备份。“C:Program" "FilesMySQLMySQL" "Server" "5.0binmysqldump”是写明mysqldump的路径(由于在安装时Mysql的路径中含有空格,此时用双引号将空格包含即可)。--user=访问mysql的用户名,--password=用户名对应的密码;mydatabase为要备份的数据库名称;“d:%dst%" "mydatabase.sql”为备份的数据库文件的存储位置及文件名称,此时将L1行获取的系统当前时间作为数据库备份文件的名称;

注:在这2行命令中,文件路径、文件名中涉及空格的时候,需要使用双引号将空格包含。

3)将backup.bat文件访问Windows中的“任务计划”中

4)、此时即可自动备份mydatabase数据库信息,并将备份文件备份在D盘下,以“备份时间+mydatabase”作为备份文件名称。

2、mysql数据库恢复
1)创建一个文本,文档名称为“revert.bat”。
2)打开“revert.bat”文件,输入以下信息:
 

复制代码 代码示例:
C:Program" "FilesMySQLMySQL" "Server" "5.0binmysql --user=bst --password=1234 mydatabase < D:2010-05-11" "143420" "mydatabase.sql

说明:“C:Program" "FilesMySQLMySQL" "Server" "5.0binmysql”为安装文件中bin下的mysql的路径。路径中涉及空格的地方使用双引号进行包含。--user=访问Mysql的用户名;--password=该用户名对应的密码;mydatabase为需要恢复的数据库名称;“D:2010-05-11" "143420" "mydatabase.sql”为作为恢复数据库文件的路径,路径中涉及空格的地方使用双引号进行包含。

3)双击“revert.bat”文件,即可将D:2010-05-11 143420 mydatabase.sql数据库文件进行恢复。

补充:
在实际应用中,网络管理员有可能要使用系统时间作为备份文件名称,尤其在获取上午的时间需要注意一些问题。
在这里使用%time:~0,2%是获取的小时,但是如果获取的是上午九点时,得到的就是“ 9”(9前面有一个空格),此时再将获取的时间作为文件名称时就会产生错误信息。
正确命令如下所示:
 

复制代码 代码示例:
set hh=%time:~0,2%
if %hh% LSS 10 (set hh=0%time:~1,1%)
set dst=%date:~0,10%" "%hh%%time:~3,2%%time:~6,2%  //L1
C:Program" "FilesMySQLMySQL" "Server" "5.0binmysqldump --user=bst --password=1234 mydatabase > d:%dst%" "mydatabase.sql   //L2

说明:此时是在原有的命令中添加了前2个命令,第一个命令行是获取当前时间中的小时(此时不考虑上午下午的时间问题);第二行命令行是判断获取的小时数字是否小于10,如果小于10,在重新对hh进行赋值(读取时间中的第2个字符,并在前面加0),前2句执行后,得到的小时就是09了。