阿里云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.csdn.net/liudihedy/article/details/73222001

    

原文地址:https://www.cnblogs.com/weiyiming007/p/10315074.html