RDS 복구 데이터 로 컬 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

2. 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

3. 복구 데이터
[root@shop src]# innobackupex --apply-log /data/mysql-bak/
[root@shop src]# innobackupex --copy-back /data/mysql-bak/

마지막 복구 의 끝 에 ok 이 나타 나 면 복구 에 성공 했다 는 뜻 입 니 다. 마지막 으로 my sql 홈 디 렉 터 리 의 속 주 를 다시 부여 하면 시작 할 수 있 습 니 다.
[root@shop mysql-5.6.32]# chown -R mysql.mysql /data/mysql

4. 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. 전체 백업 과 증분 백업 복원
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. 한 장의 표를 가 져 오 거나 내 보 냅 니 다.
6.1 전제 (my sql 의 두 변 수 를 설정 합 니 다)
        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. 내 보 내기 표 에서 생 성 된 my table. ibd 와 my table. exp 파일 을 현재 서버 의 데이터 디 렉 터 리 에 복사 하고 실행 합 니 다.
mysql> alter table mydatabase.mytable import tablespace;

좋은 웹페이지 즐겨찾기