서비스 제공 중 발생할 수 있는 장애를 대비하기 위해 사용한다. Master 와 Slave로 나눠서 구성하게 된다.
CentOS7
Master ip 10.0.2.10, Slave ip 10.0.2.20
hostname Master, Slave
두 개의 VM 사용하여 Master는 읽기, 쓰기가 가능하고 Slave는 읽기작업만 가능하게 설정할 것이다.
vi /etc/my.cnf
mysqlid 부분에 작성해주면 된다.
systemctl restart mariadb.service
mariadb 접속 후 계정생성
mysql -u 계정 -p
GRANT replication slave ON . TO replica@'%' identified by '1234';
GRNAT 권한 ON 데이터베이스.테이블 TO 사용자@'호스트' 사용자 비밀번호 설정
flush privileges;
변경사항 저장
flush tables with read lock;
데이터 잠금 후 백업 진행 (File, Position 확인)
mysqldump -u root -p --all-databases --lock-all-tables --events > mysql_dump.sql
mysql_dump.sql 백업파일 생성
unlock tables;
scp mysql_dump.sql root@ip:/폴더위치
vi /etc/my.cnf
mysqlid 부분에 작성해주면 된다.
systemctl restart mariadb.service
mysql -u root -p </백업파일
mysql -u root -p
change master to master_host='마스터 주소', master_user='마스터 계정', master_password='마스터 비밀번호', master_log_file='master 데이터 잠금시 나온 파일', master_log_pos=데이터 잠금시 position 번호;
show slave status \G