阿里云RDS数据库导出

阿里云RDS数据库导出到本地 (MySql 5.7)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 安装 Percona XtraBackup 2.4
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24
# 安装 qpress
wget http://www.quicklz.com/qpress-11-linux-x64.tar
tar xvf qpress-11-linux-x64.tar
chmod 775 qpress
cp qpress /usr/bin

# 下载数据库备份文件 (xbstream 文件包 _qp.xb 后缀)
wget -c '<数据备份文件外网下载地址>' -O test_qb.xb

# 第一种(推荐):
# 1.备份旧数据
mv /data/mysql /data/mysqlbak
# 2.解包
cd /data/mysqlbak
cat test_qp.xb | xbstream -x -v -C ./
# 3.解压
innobackupex --decompress --remove-original ./
# 4.恢复解压好的备份文件
innobackupex --defaults-file=./backup-my.cnf --apply-log ./
# 5.执行如下命令,修改文件属主
chown -R mysql:mysql /data/mysql
# 6.启动MySQL进程
service mysqld start
# 7.登录账号密码与RDS数据库的一致

# 第二种:
# 1.解包
cat test_qb.xb | xbstream -x -v -C /home/mysql/data
# 2.解压
innobackupex --decompress --remove-original /home/mysql/data
# 3.查询解压后生成的文件
ls -l /home/mysql/data
# 4.恢复解压好的备份文件
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
# 5.为避免版本问题,需修改backup-my.cnf参数
vi /home/mysql/data/backup-my.cnf
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#rds_encrypt_data
#innodb_encrypt_algorithm
#redo_log_version
#master_key_id
# 说明
如果自建数据库使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加skip-grant-tables参数
#innodb_log_checksum_algorithm=strict_crc32
#redo_log_version=1
skip-grant-tables
# 如果自建数据库使用的是MyIAM引擎,且对系统表进行操作时报错(存储引擎相关),请按如下操作进行存储引擎的转换:
alter engine <表名> engine=myisam;
# 6.执行如下命令,修改文件属主,并确定文件所属为MySQL用户
chown -R mysql:mysql /home/mysql
# 7.执行如下命令,启动MySQL进程
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
0%