使用mysql将备份的sql文件导入到数据库

时间:2023-03-09 04:38:02
使用mysql将备份的sql文件导入到数据库

一、背景

承接上一篇文章《如何使用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 加载数据完成!
 )