-
CentOS7_MySQL 5.7.30 Xtrabackup (+Replication 구성)데이터베이스/MySQL 2021. 4. 26. 17:31728x90
0. 백업 Tool 다운로드
- xtrabackup download : www.percona.com/downloads/
- 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