RDS MySQL物理备份文件恢复到自建数据库 - 云数据库 RDS - 阿里云 官方文章
### 阿里云RDS数据库备份恢复到自建数据库
- 简单的方法一个是通过阿里云备份恢复到某一时间节点 但是需要新建一个RDS实例 需要花钱
- 本文讲的是下载备份恢复到本地或自己的数据库 因为可能是部分数据错误 不能全部恢复内容
1. 数据库要是新的数据 否则数据库的其他内容可能不能使用 建议用空的数据库来恢复此备份
2. 我使用的是我服务器中的一台 京东的服务器 装的宝塔面板
>链接
>附上官方恢复物理备份连接 [RDS物理备份恢复](https://help.aliyun.com/knowledge_detail/41817.html)
>博客园 - Mr.zou [讲解的有如何安装 innobackupex](https://www.cnblogs.com/zoulixiang/p/9395382.html)
1. 将物理备份下载到服务器内
2. 下载后解压文件 普通的解压方式就可以 tar -zxvf
3. 关停现在的数据库进程 避免覆盖后无法杀死数据库进程
4. 将内容复制到 /www/server/data/ 目录下(根据个人情况选择路径,此处是mysql的数据目录)
5. 安装xtrabakcup工具
获取yum源
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
安装xtrabackup需要依赖其他包(这里用的是阿里云的epel源)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
安装工具
yum install percona-xtrabackup
- 如果安装过 直接执行
#执行命令 前后两个路径是一直的 (innobackupex 执行前要安装)
innobackupex --defaults-file=/www/server/data/backup-my.cnf --apply-log /www/server/data
chown -R mysql:mysql /www/server/data/
chmod -R 700 /www/server/data/
启动数据库即可
-----
###### 以下下内容本次没有使用
6. 修改文件
vi /www/server/data/backup-my.cnf
将以下内容注释
#innodb_fast_checksum
#innodb_page_size
#innodb_log_block_size
#说明 如果本地使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加skip-grant-tables参数:
#注释掉下面两行 没有就不用注释
#innodb_log_checksum_algorithm=strict_crc32
#redo_log_version=1
#新增
skip-grant-tables
7. 修改权限
chown -R mysql:mysql /www/server/data/
chmod -R 700 /www/server/data/
8. 启动
我是直接在宝塔上启动的mysql 或者 /etc/init.d/mysqld start
官方的启动方式 不建议这么启动 这是官方给的推荐方式我试的没有生效
/www/server/mysql/bin/mysqld_safe --defaults-file=/www/server/data/backup-my.cnf --user=mysql --datadir=/www/server/data/
9. 连接上数据库就能看到数据了