本帖最后由 鴻渊 于 2019-7-5 14:59 编辑
由于要在局域网搭建测试数据库,所以想要直接从阿里云的mysql上直接把备份恢复到本地。可能是rds的产品文档写的不够详细,也可能是我自己能力不够,看着文档去操作的时候愣是没恢复成,后经各种查资料终于恢复了。于是就想写这篇,给有需要的小伙伴们做个参考,也是当记录下
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、解压
[Shell] 纯文本查看 复制代码 # tar -zxvf percona-xtrabackup-2.3.6-Linux-x86_64.tar.gz
4、重命名并拷贝到/usr/local/目录下
[Shell] 纯文本查看 复制代码 # mv percona-xtrabackup-2.3.6-Linux-x86_64 xtrabackup2.3.6
# cp -r /root/xtrabackup2.3.6 /usr/local/xtrabackup2.3.6
5、配置环境变量
[Shell] 纯文本查看 复制代码 # 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 库
[Shell] 纯文本查看 复制代码 # 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、下载备份文件、及脚本
阿里云控制台下载备份文件或命令行直接下载
[Shell] 纯文本查看 复制代码 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版本一致
[Shell] 纯文本查看 复制代码 rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
[font=interm]systemctl start mysqld[/font]
9、恢复数据库
1.停止mysql服务:[Shell] 纯文本查看 复制代码 systemctl stop mysqld
2.备份原来的datadir:[Bash shell] 纯文本查看 复制代码 mv /var/lib/mysql/ /var/lib/mysqlbak
3.新建一个datadir:[Bash shell] 纯文本查看 复制代码 mkdir /var/lib/mysql (友情提示:你也可以建一个你喜欢的目录,但你后面要去my.cnf改成你的目录)
4.解压备份:[Bash shell] 纯文本查看 复制代码 bash rds_backup_extract.sh -f 下载的备份文件.tar.gz -C /var/lib/mysql
5.执行恢复:[Bash shell] 纯文本查看 复制代码 innobackupex --defaults-file=/etc/my.cnf --apply-log /var/lib/mysql
6.给个R权限:[Bash shell] 纯文本查看 复制代码 chown mysql: /var/lib/mysql -R
启动mysql服务。搞定
[Bash shell] 纯文本查看 复制代码 vi /etc/my.cnf
加入如下配置:
[Bash shell] 纯文本查看 复制代码 [client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
新手一枚写的不好敬请见谅,觉得写的还可以的免费评分走一波撒,如有违规请联系我删除哈~~
|