您的位置:首页 > 数据库 > MySQL

RDS恢复数据到本地mysql(阿里云)

2016-10-19 17:58 567 查看
一、准备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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件 mysql 阿里云