-
CentOS7_MySQL 5.7.30 Xtrabackup (+Replication 구성)데이터베이스/MySQL 2021. 4. 26. 17:31728x90
0. 백업 Tool 다운로드
- xtrabackup download : www.percona.com/downloads/
Percona Software Downloads
Percona provides free, open source software for MySQL and MongoDB. For specific details, please visit the individual product pages, where you can also find current documentation for all of our maj
www.percona.com
- AS-IS 와 TO-BE 모두 다운받아 준다. (Replication일 경우 Master 와 Slave 모두 다운받아 준다.)
- 2.4.22 버전 다운로드 -> Linux-Generic 선택
#링크복사하여 wget 해주기 [root] wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.22/binary/tarball/percona-xtrabackup-2.4.22-Linux-x86_64.glibc2.12.tar.gz [root] tar xvzf percona-xtrabackup-2.4.22-Linux-x86_64.glibc2.12.tar.gz
- MySQL로 소유자를 바꾸고 bash에 추가
[root] mv percona-xtrabackup-2.4.22-Linux-x86_64.glibc2.12 /mysql/local/xtrabackup #경로 사용자 지정 [root] chown mysql:mysql /mysql/local/xtrabackup [mysql] vi .bash_profile ## XtraBackup Binary PATH PATH=$PATH:/mysql/local/xtrabackup/bin
1. AS-IS 데이터 풀백업
- Replication 구성일 경우 이쪽이 Master server 가 된다.
- Xtra Full Backup
#백업받을 디렉토리 생성 [root] mkdir /backup #설정 파일에 xtrabackup 경로 추가 [mysql] vi .bash_profile ## XtraBackup Binary PATH PATH=$PATH:/mysql/local/xtrabackup/bin #자신이 설정한 xtrabackup 경로에 따라 달라짐 #AS-IS 백업 수행 [mysql] xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/backup --user=root --password=1 --socket=/tmp/mysql.sock #이관을 위해 tar파일로 압축 후 TO-BE MASTER서버로 scp 실행 [root] tar -cvf backup.tar backup [root] scp backup.tar [TO-BE 서버 IP]:/
- 풀 백업 이후 데이터 변경을 대비하여 체크포인트 확인
[mysql@backup] cat xtrabackup_checkpoints
2. 백업 tar 풀고, TO-BE 서버에 적용
- Replication 구성일 경우 이쪽이 Slave 서버가 된다.
- 압축해제
[root@/] tar xvf backup.tar
- 적용
#DB 셧다운 [mysql] mysqladmin -uroot -p shutdown -> 1 #원본 데이터 및 로그 파일 cp 후 삭제 [mysql@/] cp -r data data_org [mysql@/] cp -r log log_org [mysql@/] rm -rf data/* log/binlog/* log/relay/* #로그 적용 [mysql] xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/backup #백업 데이터에 있던 것을 데이터 디렉토리로 옮겨줌 [mysql] xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/backup #재기동 [mysql] mysqld --defaults-file=/etc/my.cnf &
(Replication 구성일 경우만 진행)
3. CHANGE TO MASTER 명령어로 동기화
- 마스터 리두로그의 파일과 포지션 확인
<<Master>> [mysql] cat xtrabackup_binlog_info mysql-bin.000001 1316
- 슬레이브 설정
sql> CHANGE MASTER TO MASTER_HOST='[Master IP]', MASTER_PORT=[Master Port 디폴트 3306], MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_LOG_FILE='[로그파일]', MASTER_LOG_POS=[로그 포지션], MASTER_CONNECT_RETRY=10; #슬레이브 수행 sql> start slave ;
728x90'데이터베이스 > MySQL' 카테고리의 다른 글
CentOS7 MySQL 5.7.30 Compress Backup (0) 2021.04.28 CentOS7_MySQL 5.7.30 MySQLdump로 Replication 구성 (0) 2021.04.27 MySQL 비밀번호 정책 변경 (0) 2021.04.27 MySQL 파라미터 변경 (0) 2021.04.27 CentOS7_MySQL 5.7.30 설치 (0) 2021.04.26