龙空技术网

阿里云rds 备份和还原

IT小乙班 163

前言:

此刻兄弟们对“阿里云文件备份”大约比较注意,大家都想要学习一些“阿里云文件备份”的相关文章。那么小编在网络上网罗了一些有关“阿里云文件备份””的相关知识,希望咱们能喜欢,姐妹们快快来了解一下吧!

由于公司业务平台使用阿里云RDS数据库,想要测试一个恢复数据看看,结果还要收钱,于是各种百度找到了这份资料,实测还原成功。

1.阿里云数据库备份实例,恢复数据的时候需要将数据恢复到本地数据库,是不能直接恢复到RDS上的。

2.需要在本地服务器上下载一个数据库,尽量和RDS数据库版本保持一致。(我现在用的是5.6的版本)

3.这里需要用到xtrabakcup工具进行数据恢复

1,下载5.6版本的数据库

cd /usr/local/src/

wget

2,解压

mv /us/local/src/mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

3,创建数据库用户

useradd -s /sbin/nologin mysql

3,安装xtrabakcup工具

获取yum源

yum install

安装xtrabackup需要依赖其他包(这里用的是阿里云的epel源)

wget -O /etc/yum.repos.d/epel.repo

安装工具

yum install percona-xtrabackup

备注:如果安装不成功,执行以下命令

yum源安装:

1、安装Percona的库:

yum install

2、测试Percona库:

yum list|grep percona

3、安装包:

yum install percona-xtrabackup

4,登录到阿里云的RDS控制台,点击复制外网。

5,下载数据备份文件

wget -c '外网地址' -O /usr/local/src/db.tar.gz

(如果你用的是虚拟机,可能无法解析该外网地址。加个114的dns即可)

6,将下载的数据备份恢复到本地MySQL数据库中

a,首先下载一个脚本

wget

chmod a+x rds_backup.sh

b,解压数据文件

mkdir -p /data/mysql

执行命令解压数据文件

./rds_backup.sh -f <数据备份文件名>.tar.gz -C /data/mysql

c,恢复解压好的备份文件

innobackupex --defaults-file=/data/mysql/backup-my.cnf --apply-log /data/mysql

出现如上图,基本数据恢复完成了。

7,修改数据库文件属性

chown -R mysql:mysql /data/mysql

8,为防止数据库版本问题,还是需要修改/data/mysql/backup-my.cnf的配置文件,将如下配置注释掉。

9,启动数据库

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &

10,登录数据库

/usr/local/mysql/bin/mysql -uroot

上面基本完成数据的恢复。考虑到恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令

delete from mysql.db where user<>'root' and char_length(user)>0;

delete from mysql.tables_priv where user<>'root' and char_length(user)>0;

flush privileges;

文章来源于:

大家如果在头条号有电脑日常问题,可以在下方评论,看到后会第一时间回复大家。

作者|黑猫

关注【IT黑猫运维】头条号,每天收获最实战的电脑技能干货。

如果你喜欢我的文章,不妨点赞、转发、收藏一下哦!

标签: #阿里云文件备份