美文网首页
阿里云RDS快速恢复到本地自建数据库方法

阿里云RDS快速恢复到本地自建数据库方法

作者: 好想静静_2970 | 来源:发表于2019-04-08 10:54 被阅读0次

    操作系统中已安装数据恢复工具Percona XtraBackup。MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4。可以从Percona XtraBackup官网下载安装,yum安装即可。

    1,yum -y install percona-xtrabackup-22-2.2.13-1.el7.x86_64.rpm

    2,去阿里官网下载自己的mysql备份文件

    wget -c '阿里RDS备份文件的内网活着外网地址'  -O 下载到本地的文件名,注意下载地址需要加上单引号

    如:

    wget -c 'https://xxxxx.com/hins3571541_data_20190408043520.tar.gz?OSSAccessKeyId=LTAIyKzxtSYNknVO&Expires=1554860441&Signature=lgumCDebS4I0aYjKTadupl3mxCU%3D' -O a.tar.gz

    3,解压

    tar izxvf a.tar.gz -C 直接解压到你安装好的数据库路劲,把原来的数据库路劲备份新建一个。

    比如我的数据库安装路劲是/usr/local/mysql/var  我把原来的var备份了,新建了一个var

    tar izxvf a.tar.gz -C /usr/local/mysql/var/

    解压后会看到backup-my.cnf等文件

    4,恢复

    innobackupex --defaults-file=/usr/local/mysql/var/backup-my.cnf --apply-log /usr/local/mysql/var/

    恢复返回这样就算成功

    5,为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。

    vim /usr/local/mysql/var/backup-my.cnf

    这三行注释掉

    6,说明 如果本地使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加

    skip-grant-tables

    7,执行如下命令,修改文件属主,并确定文件所属为MySQL用户。

    chown -R mysql:mysql /usr/local/mysql/var

    8,最后启动就OK了。

    service mysql start

    9,偷偷的写了个脚本

    #!/bin/bash

    service mysql stop

    rm -rf /usr/local/mysql/var

    mkdir /usr/local/mysql/var

    URL='阿里云rds外网地址'

    wget -c '$URL' -O a.tar.gz

    tar -izxvf a.tar.gz -C /usr/local/mysql/var/

    innobackupex --defaults-file=/usr/local/mysql/var/backup-my.cnf --apply-log /usr/local/mysql/var/

    cat << EOF >backup-my.conf

    # This MySQL options file was generated by innobackupex.

    # The MySQL server

    [mysqld]

    innodb_checksum_algorithm=innodb

    innodb_log_checksum_algorithm=innodb

    innodb_data_file_path=ibdata1:200M:autoextend

    innodb_log_files_in_group=2

    innodb_log_file_size=1048576000

    #innodb_fast_checksum=false

    #innodb_page_size=16384

    #innodb_log_block_size=512

    innodb_undo_directory=.

    innodb_undo_tablespaces=0

    rds_encrypt_data=false

    innodb_encrypt_algorithm=aes_128_ecb

    EOF

    chown -R mysql:mysql /usr/local/mysql/var

    service mysql start

    运维QQ交流群:171586999

    相关文章

      网友评论

          本文标题:阿里云RDS快速恢复到本地自建数据库方法

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