美文网首页
阿里云RDS for mysql 数据库还原到本地自建数据库

阿里云RDS for mysql 数据库还原到本地自建数据库

作者: 好想静静_2970 | 来源:发表于2017-11-08 16:24 被阅读0次

    阿里云官方帮助文档:https://help.aliyun.com/knowledge_detail/41817.html

    先说一下大概步骤,回头上图说明,

    数据库还原过几次 踩过几次坑,今天生产环境又TM误删了,还着着急急的催,我发誓我要离职,不能在这干了,哎不说了,心累,先记录一下吧

    步骤1,购买阿里云ECS,因为要安装插件,如果是本地的话太慢了……(必须是linux机器)

    步骤2,使用阿里云一件安装脚本,选择mysql对应的版本安装即可,很快几分钟搞定

    步骤3,安装还原插件https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/binary/  版本不要太高,也不要太低,我的rds mysql是5.6  所以选择了2.3.2 xtrabackup

    安装xtrabackup依赖包

    yum install  perl-DBD-MySQL

    wget  ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm

    rpm -vih libev-4.15-1.el6.rx.x86.64.rpm

    步骤4,下载阿里云rds数据库备份文件和解压缩文件,

    http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.7741817.2.6.4vdEFz&file=rds_backup_extract.sh 这个是解压缩的,待会会用到,

    步骤5,解压,这里注意了,最快的方法就是把原来的mysql data目录备份,

    使用脚本解压  sh rds_backup_extract.sh -f hins3141877_data_20171128061754.tar -C /alidata/mysq/data

    步骤6,还原innobackupex --defaults-file=/alidata/server/mysql/data/backup-my.cnf --apply-log /alidata/server/mysql/data

    xtrabackup: starting shutdown with innodb_fast_shutdown = 1

    InnoDB: FTS optimize thread exiting.

    InnoDB: Starting shutdown...

    InnoDB: Shutdown completed; log sequence number 1795061329

    171108 15:44:43 completed OK!

    出现 completed Ok 说明成功~

    步骤7,vim /alidata/server/mysql/data/backup-my.cnf

    把下面这几行注释掉

    #innodb_fast_checksum

    #innodb_page_size

    #innodb_log_block_size

    步骤8,给权限

    chown -R mysql:mysql /alidata/server/mysql/data

    步骤9,启动

    service mysqld start 或者

    mysqld_safe --defaults-file=/alidata/server/mysql/data/backup-my.cnf --user=mysql --datadir=/alidata/server/mysql/data &

    步骤10,登陆

    mysql -u root 

    show databases;  这一步应该可以看到你还原的数据库

    步骤11,恢复完成后,表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;

    步骤12,创建数据库账号密码并授权

    GRANT ALL PRIVILEGES ON *.* TO'root'@'%'IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

    FLUSH PRIVILEGES;

    运维QQ交流群:171586999

    相关文章

      网友评论

          本文标题:阿里云RDS for mysql 数据库还原到本地自建数据库

          本文链接:https://www.haomeiwen.com/subject/ltrymxtx.html