Mysql利用source批量恢复多表备份sql

0x00 场景说明

平时备份mysql时,为了节省空间,在备份的时候会过滤掉一些历史记录或者较大的日志表的备份,从而对每张表进行了单独备份,而在恢复这些备份时,可以通过脚本反向恢复过去,当然也有其他方法。

本次使用的是source命令,配合shell脚本实现读取单表备份内容并追加至新的sql文件中,source新的sql文件从而实现批量恢复

0x01 脚本

vi source.sh
#!/bin/bash
#单表备份路径 Dir读取备份文件列表
Dir=`ls /home/backup/`
echo "" >all.sql
for i in $Dir
do
     echo "source /home/backup/$i;">>all.sql
done

0x02 登录mysql 创建数据库并恢复

mysql -uroot -p
create database xxx;
use xxx; #注意编码 show create database xxx; source
/home/backup/all.sql;

批量恢复完成

posted @ 2023-01-10 13:45  BlackData  阅读(320)  评论(0编辑  收藏  举报