批量恢复阿里云RDS的逻辑备份tar文件到MySQL5.7
先将阿里云RDS备份下载下来,注意是逻辑备份
下载完成是一个.tar文件。
原RDS的数据库版本为MySQL5.5.18,恢复数据库版本是MySQL5.7
避免备份过程中需要多次数据mysql的root密码,执行下列代码。
mysql_config_editor set --login-path=local --host=localhost --user=root --password
接着执行一键恢复脚本
mkdir restore_tmp && \
tar -xvf 备份文件.tar -C restore_tmp && \
cd restore_tmp && \
for f in *.sql.gz; do
db=$(echo "$f" | sed 's/_datafull_.*//')
echo "======================================"
echo "Restoring: $f"
echo "Database : $db"
echo "======================================"
sudo mysql -e "CREATE DATABASE IF NOT EXISTS \`$db\` DEFAULT CHARACTER SET utf8;"
gunzip < "$f" | sudo mysql "$db"
done
把脚本保存成文件
nano restore.sh
Ctrl + O
回车
Ctrl + X
给脚本执行权限
chmod +x restore.sh
运行脚本
./restore.sh 你的tar文件名