MySQL数据库自动备份及还原

  • 创建备份脚本

创建mysqlBackUp.bat文件,粘贴以下代码:

​
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
mysqldump -uroot -ppassword dbname > D:/%Ymd%dbname.sql

​

各参数含义如下: 

可先打开cmd,输入

mysqldump -uroot -ppassword dbname > D:/%Ymd%dbname.sql

,检验命令是否正确,若成功执行,可以在指定路径下找到对应的sql文件,如果提示找不到mysqldump指令,可将MySQL安装的bin目录(C:\Program Files\MySQL\MySQL Server 5.7\bin)设置为环境变量

依次打开“我的电脑”->“属性”->“高级系统设置”->“高级”(不同版本的windows会有差别)

MySQL数据库自动备份及还原_第1张图片

选中系统变量”Path”进行编辑,将mysql安装bin目录(默认为C:\Program Files\MySQL\MySQL Server 5.7\bin,以实际为准)添加到其中,变量与变量之间用;隔开。

也可以直接修改bat脚本如下:

@echo off
c:
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
mysqldump -uroot -ppassword dbname > D:/%Ymd%dbname.sql
  • 设置自动备份

此处仅以设置计算机定时任务为例来实现MySQL的自动备份。

打开“我的电脑”->“管理”->“任务计划程序”->“创建基本任务”(不同版本的windows会有差别,Windows Server为“我的电脑”->“管理”->"工具"->“任务计划程序”->“创建基本任务”),按照实际需求进行后续相应的设置,

MySQL数据库自动备份及还原_第2张图片

MySQL数据库自动备份及还原_第3张图片

MySQL数据库自动备份及还原_第4张图片

MySQL数据库自动备份及还原_第5张图片

 选择上一步创建的脚本,

MySQL数据库自动备份及还原_第6张图片

点击完成 即可将该任务添加到计算机任务列表中。

MySQL数据库自动备份及还原_第7张图片

注意:设置完成后建议测试一遍,保证计算机任务正常执行,如果执行完后对应的备份文件为0kb,可能是需要授予管理员权限,将bat脚本内容改为如下内容即可。

​@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
mysqldump -uroot -ppassword dbname > D:/%Ymd%dbname.sql
  • 还原数据库

使用mysql自带的命令工具(建议使用带Unicode的命令工具):

启动后输入数据库密码进行登录验证:

MySQL数据库自动备份及还原_第8张图片

通过后,依次输入以下命令(每个命令输入完毕后按回车键进行确认,此处数据库名为”dbname”,以实际情况为准):

  1. drop database dbname; (如果数据库存在,先备份,再使用该命令删除)
  2. create database dbname;
  3. use dbname;
  4. source D:\dbname.sql
  5. 等待还原完成

你可能感兴趣的:(mysql)