一、背景
承接上一篇文章《如何使用mysqldump备份数据库》,数据库备份后将用于恢复或者在多个测试环境上迁移。下面描述如何通过批处理文件实现数据加载恢复。
二、环境准备
跟上一篇一样,在back_up文件夹下增加loaddata.bat文件。
三、开发脚本
在loaddata.bat中增加如下内容:
::将备份的数据加载到数据库
@echo off
::1、初始化待加载数据库IP地址与数据库名称的对应关系
set dbIpMap="192.168.1.102,testdb1"^
"192.168.1.102,testdb2"^
"192.168.1.102,testdb3"
REM 输入导入文件路径
set /p folderName=请输入导入文件路径:
::设置变量延时赋值
setlocal ENABLEDELAYEDEXPANSION
::3、循环加载所有数据库数据
for %%a in (%dbIpMap%) do (
set dbPair=%%a ::删除引号 set dbip=!dbPair:"=! @echo 正在加载数据:!dbip!... for /f "delims=, tokens=1,2" %%i in ("!dbip!") do (
set ip=%%i set dbName=%%j
REM 解压文件
7z e "%folderName%\!dbName!.zip" -y
REM 加载文件到数据库
mysql -h192.168.1.102 -uroot !dbName!<"!dbName!.sql"
REM 加载后删除解压的文件
del /f "!dbName!.sql"
)
@echo 加载数据完成!
)