美文网首页
阿里云RDS恢复到自建实例(全备)

阿里云RDS恢复到自建实例(全备)

作者: 古飞_数据 | 来源:发表于2021-08-03 13:02 被阅读0次

1.准备环境(新实例)
2.下载备份
3.解压和恢复备份
4.启动新实例

一、准备环境
1.确认RDS实例是MySQL 8.0、5.7、5.6、5.5高可用版(本地盘)。
2.确认RDS实例中的表没有通过TDE加密,实例中如果存在加密过的表,会导致恢复过程出错,请先对已加密的表执行解密操作。
3.准备一台Linux 64位系统的电脑或服务器。确认Linux服务器上已安装MySQL服务,且MySQL版本与RDS MySQL版本相同(例如都是5.7)
4.在Linux服务器上,安装Percona XtraBackup。
对于MySQL 5.7、5.6或5.5实例:安装Percona XtraBackup 2.4。
对于MySQL 8.0实例,安装Percona XtraBackup 8.0。

二、下载备份
1.复制外网下载地址
2.在Linux服务器上,执行如下命令下载物理备份。

  wget -c 'http://...' -O test1_qp.xb

三、解压和恢复备份
1.在Linux服务器上,创建一个目录(例如/home/mysql/data)用于存放解压后的文件。

  mkdir /home/mysql/data

2.解压压缩包。根据压缩包的后缀选择解压命令。

  tar -izxvf test1.tar.gz -C /home/mysql/data

3.执行如下命令,查询解压后生成的文件

  ls -l /home/mysql/data

4.执行如下命令,恢复解压好的备份文件。

## MySQL 5.6/5.7
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data

## MySQL 8.0
xtrabackup --prepare --target-dir=/home/mysql/data
xtrabackup --datadir=/var/lib/mysql --copy-back --target-dir=/home/mysql/data

四、启动MySQL

1.为避免版本问题,需修改backup-my.cnf文件,具体操作步骤如下。
执行如下命令,以文本方式编辑backup-my.cnf文件。

vi /home/mysql/data/backup-my.cnf

添加如下参数:(表名不再区分大小写)

lower_case_table_names=1

注释掉如下自建数据库不支持的参数:

#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#innodb_encrypt_algorithm
#rds_encrypt_data
#redo_log_version
#master_key_id
#server_uuid

*如果自建数据库使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加skip-grant-tables参数:

#innodb_log_checksum_algorithm=strict_crc32
#redo_log_version=1
skip-grant-tables

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

chown -R mysql:mysql /home/mysql/data

3.执行如下命令,启动MySQL进程。

mysqld --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &

相关文章

网友评论

      本文标题:阿里云RDS恢复到自建实例(全备)

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