mysql数据还原阿里云_RDS恢复数据到本地mysql(阿里云)

本文档详细介绍了如何从阿里云RDS还原数据到本地MySQL环境,包括准备MySQL环境、安装Percona XtraBackup、执行数据恢复、进行完整和增量备份以及导入导出单张表的操作步骤。
摘要由CSDN通过智能技术生成

一、准备mysql环境

1.1、安装mysql依赖软件[root@shop src]# yum install -y gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* cmake bison bison-devel*

[root@shop src]# wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

[root@shop src]# wget

[root@shop src]# tar -zxvf cmake-2.8.8.tar.gz

[root@shop src]# cd cmake-2.8.8

[root@shop cmake-2.8.8]# ./bootstrap

[root@shop cmake-2.8.8]# gmake && gmake install

[root@shop cmake-2.8.8]# cd ../ && tar -zxvf bison-2.5.tar.gz

[root@shop bison-2.5]# cd bison-2.5

[root@shop bison-2.5]# ./configure

[root@shop bison-2.5]# make && make install

1.2、安装mysql[root@shop ~]#  wget 'http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.34.tar.gz' -O /usr/local/src

[root@shop ~]# cd /usr/local/src/

[root@shop src]# tar –zxvf mysql-5.6.32.tar.gz

[root@shop src]# cd mysql-5.6.32

[root@shop mysql-5.6.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/

[root@shop mysql-5.6.32]# make && make install

[root@shop mysql-5.6.32]# mkdir -p /data/mysql

[root@shop mysql-5.6.32]# chown -R mysql.mysql /data/mysql

[root@shop mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@shop mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

[root@shop mysql]# chmod +x /etc/init.d/mysqld

[root@shop mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/

1.3、创建mysql用户及准备rds恢复数据[root@shop mysql-5.6.32]# useradd -u 49 -M -s/sbin/nologin mysql

[root@shop mysql-5.6.32]# wget -c 'http://rdsbak-qd.oss-cn-qingdao-a-internal.aliyuncs.com/cxxxx7/xxxxx_data_xxxxxx.tar.gz?OSSAccessKeyId=xxxxauj3xxx40hb&Expires=xxxxxx&Signature=EioKxxxxAnnLn2JYJpxxxxxo%3D' -O ./mysqlbin.tar

[root@shop mysql-5.6.32]# tar -zxvf mysqlbin.tar

二、安装perconna[root@shop src]# wget http://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.2.10/binary/redhat/6/x86_64/Percona-XtraBackup-2.2.10-re623acb-el6-x86_64-bundle.tar

[root@shop src]# tar -xvf Percona-XtraBackup-2.2.10-re623acb-el6-x86_64-bundle.tar

[root@shop src]# yum -y install perlperl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-ExtUtils-CBuilderperl-ExtU tils-MakeMaker libdigest-perl-md5-perl perl-Digest-MD5

[root@shop src]# rpm -ivh percona-xtrabackup-2.2.10-1.el6.x86_64.rpm

三、恢复数据[root@shop src]# innobackupex --apply-log /data/mysql-bak/

[root@shop src]# innobackupex --copy-back /data/mysql-bak/

最后恢复的结尾出现ok表示恢复成功,最后再重新赋予mysql主目录的属主就可以启动了[root@shop mysql-5.6.32]# chown -R mysql.mysql /data/mysql

四、使用percona执行完整和增量备份

4.1、完整备份[root@shop ~]# innobackupex --user=mysql /data/backup

/data/backup指定备份位置

4.2、增量备份[root@shop ~]# innobackupex --incremental /data/backup --incremental-basedir=/data/backup

“--incremental-basedir”选项指定上一次完整或增量备份的存放目录

“--incremental”选项指明是增量备份

五、恢复完整备份和增量备份

5.1回滚完整备份、[root@shop ~]# innobackupex --apply-log --redo-only /data/backup

5.2、回滚增量备份、[root@shop ~]# innobackupex --apply-log --redo-only /data/backup --incremental-dir=/data/backup/increment-backup-dir

回滚增量备份的时候要指定完整备份的所在目录,且指定要回滚的增量备份的所在目录

不管有几个增量备份,都必须要指定完整备份的所在目录

5.3、恢复完整备份[root@shop ~]# innobackupex --copy-back /data/backup

恢复时只需要恢复完整备份就好,因为增量备份已经回滚到完整备份了

六、导入或导出单张表

6.1、前提(设置设置mysql的两个变量)导出的数据库设置innodb_file_per_table=1

导入的数据库设置innodb_file_per_table=1,innodb_expand_import=1

6.2、导出单张表[root@shop ~]# innobackupex --user=mysql /data/mysql

[root@shop ~]# innobackupex --apply-log --export /data/backup/mytable

上面的命令会为每个innodb表的表空间创建一个以.exp结尾的文件,恢复的时候需要这个文件

6.3、导入单张表(导入时要先在目标服务器上创建一个跟还原的表的表结构一致的表,然后删除表空间)mysql> create table mytable (...) ENGINE=InnoDB;

mysql> alter table mydatabase.mytable discard tablespace;

6.4、将导出表生成的mytable.ibd和mytable.exp文件复制到当前服务器的数据目录并执行mysql> alter table mydatabase.mytable import tablespace;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值