阿里云的rds备份,导入本地数据库
2018-06-20 本文已影响92人
戏入子迷
下载备份
到阿里云的rds备份页面,下载对应的备份文件包。
文件是tar.gz格式的。
阿里云官方文档,是关于整个库的导入。
解压
下载阿里云官方提供的sh脚本,rds_backup_extract.sh
软件使用方式 sh rds_backup_extract -f backup.tar.gz/back.xb.gz -C directory
-f 参数后面跟要解压的备份集文件
-C 参数后面跟要解压到的目录,-C 参数是可选的,如果不指定就解压到当前目录,如 sh rds_backup_extract -f backup.tar.gz
注:需要通过 bash 来执行 rds_backup_extract 脚本文件。
解压后,在directory目录能找到mysql的数据存储文件,比如某个表的 frm和ibd文件。
导入指定表
在本地mysql,新建库,拷贝表结构。
比如要导入user表,则需要把新建user表,且表结构和数据表user的结构一致。否则后续进行会出错。
使当前的user表结构和ibd脱离关系
ALTER TABLE user DISCARD TABLESPACE;
该命令会删除user 表的ibd文件,即删除user.ibd文件
拷贝数据表的ibd文件,到本地mysql储存路径下的对应位置
如本地库名为 a,
mysql存储数据的位置为 d:/mysql/data/,这个可以在mysql的配置文件,my.ini或my.conf找到
则user表的数据文件路径为:d:/mysql/data/a/user.ibd,
把user.ibd,拷贝到 d:/mysql/data/a/ 目录即可。
使原来数据的ibd和当前frm建立关系
ALTER TABLE user IMPORT TABLESPACE;
如果没有错误,则表导入成功。有错误,则说明表结构不一致。