先将阿里云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文件名