阿里云RDS数据库备份文件恢复到本地mysql数据库
一、安装mysql和xtrabackup
(1)安装mysql
因为RDS是5.6版本,所以我们本地的mysql数据库要与RDS版本对应。
rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm && yum -y install mysql-server mysql
(2)安装xtrabackup
看我另一篇文章:https://www.cnblogs.com/weiyiming007/p/10281820.html
我这个文章中是安装的xtrabackup2.4,如果是mysql5.6的话,需要安装2.3(如下命令):
yum install epel-release -y
yum -y install percona-xtrabackup-23
MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4。
二、准备并解压数据
(1)准备数据
先从阿里云备份好数据;
图中的压缩包就是我准备还原的数据;
解压:
[root@saltstack ~]# tar zxf /home/09_gongsifazhan_hins6110701_data_20181203100822.tar.gz -C /data/mysql/
三、数据恢复
(1)执行如下命令,恢复解压好的备份文件
innobackupex --defaults-file=/data/mysql/backup-my.cnf --user=root --apply-log /data/mysql
看到类似如下输出,显示 completed OK,表示执行成功:
(2)修改配置文件
打开/data/mysql/backup-my.cnf,注释掉如下参数(阿里帮助文档只说注释掉三行,启动会失败);
并添加一行内容:skip-grant-tables #登陆的时候忽略密码;其他教程说登录时不要密码,但是我的不加此行登录时还要密码,
(3)修改文件属组属主
chown -R mysql:mysql /data/mysql
(4)启动mysql进程
mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=root --datadir=/data/mysql &
查看进程:
四、登录数据库,验证
(1)登录
mysql -uroot #登录不用密码
(2)查看数据,验证
至此,数据恢复完成;
(3)
如果需要修改root密码,可以执行如下操作;
mysql> use mysql;
mysql> update user set password=password('123456') where user='root'; #设置root密码
mysql> update user set host='%' where user='root' AND host='localhost';
mysql> flush privileges; #先刷一次
mysql> grant all privileges on *.* to root@'%' identified by '123456'; #执行这条命令
mysql> flush privileges; #再刷一次
五、可能遇到的问题
解决方法:
执行删除命令:rm -rf /data/mysql/ib*
删除:ibdata1、ib_logfile0、ib_logfile1文件
再次尝试启动mysql
参考文档:https://blog.****.net/liudihedy/article/details/73222001