鴻渊 发表于 2019-7-5 14:50

阿里云RDS-Mysql物理备份恢复到本地教程

本帖最后由 鴻渊 于 2019-7-5 14:59 编辑

由于要在局域网搭建测试数据库,所以想要直接从阿里云的mysql上直接把备份恢复到本地。可能是rds的产品文档写的不够详细,也可能是我自己能力不够,看着文档去操作的时候愣是没恢复成,后经各种查资料终于恢复了。于是就想写这篇,给有需要的小伙伴们做个参考,也是当记录下{:1_900:}

1、需要在本地安装个linux系统,我是用虚拟机安装的CentOS,具体安装的方法网上随处可见这里就不细说了,在安装的时候如果提示软件仓库出错的话可以选用阿里的软件仓库, https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/链接中的7.6.1810是系统的版本,具体系统版本不一样就跟着改哈 也可直接访问 https://mirrors.aliyun.com/centos/ 去找具体版本~

2、安装Percona XtraBackup 这个备份恢复工具
Percona XtraBackup 的官网下载地址:https://www.percona.com/downloads/XtraBackup/LATEST/


D:/%E5%8A%9E%E5%85%AC%E8%BD%AF%E4%BB%B6/YoudaoNote/myfile/qq409FA27EBD17A01FD5E91EB74A4DD9BA/bce70b9ff1f04460a28e731e37776d7a/clipboard.png
3、解压
# tar -zxvf percona-xtrabackup-2.3.6-Linux-x86_64.tar.gz

4、重命名并拷贝到/usr/local/目录下
# mv percona-xtrabackup-2.3.6-Linux-x86_64 xtrabackup2.3.6
# cp -r /root/xtrabackup2.3.6   /usr/local/xtrabackup2.3.6

5、配置环境变量
# vim /etc/profile

export PATH USER LONGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
PATH=/usr/local/xtrabackup2.3.9/bin:$PATH
export PATH
# source /etc/profile

6、安装libssl.so.6 库
# yum install libssl.so.6 -y
# ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
#ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

7、下载备份文件、及脚本
       阿里云控制台下载备份文件或命令行直接下载
      wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz
      还需要下载阿里云官方提供的rds_backup_extract.sh数据备份文件解压工具(地址:http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.7741817.2.6.IWbXs5&file=rds_backup_extract.sh)


8、我阿里云购买的rds是5.6的,所以要安装mysql5.6, 本地安装的mysql版本要与rds版本一致
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
systemctl start mysqld


9、恢复数据库
1.停止mysql服务:systemctl stop mysqld
2.备份原来的datadir:mv /var/lib/mysql/ /var/lib/mysqlbak
3.新建一个datadir:mkdir /var/lib/mysql(友情提示:你也可以建一个你喜欢的目录,但你后面要去my.cnf改成你的目录)
4.解压备份:bash rds_backup_extract.sh -f 下载的备份文件.tar.gz -C /var/lib/mysql
5.执行恢复:innobackupex --defaults-file=/etc/my.cnf --apply-log /var/lib/mysql
6.给个R权限:chown mysql: /var/lib/mysql -R
启动mysql服务。搞定
vi /etc/my.cnf
加入如下配置:

default_character_set=utf8

collation_server = utf8_general_ci
character_set_server = utf8


新手一枚写的不好敬请见谅,觉得写的还可以的免费评分走一波撒,如有违规请联系我删除哈~~

xuejiqiao 发表于 2019-7-5 14:58

收藏了,不错的技术文档

李莹莹 发表于 2019-7-5 23:14

chown mysql: /var/lib/mysql -R
这里意思是,/var/lib/mysql目录下面的所有内容的属主改为mysql

鴻渊 发表于 2019-7-7 21:07

给这个文件夹赋个权限

鴻渊 发表于 2019-7-7 21:09

李莹莹 发表于 2019-7-5 23:14
这里意思是,/v ...

给这个文件夹赋个权限
页: [1]
查看完整版本: 阿里云RDS-Mysql物理备份恢复到本地教程