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

时间:2022-09-20 12:40:26

一、背景

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