ITFragile
[Linux] 03. DB 이중화 본문
DB Server Info
db-01 : 192.168.56.230
db-02 : 192.168.56.240
# 사전작업
Master에 있던 모든 데이터베이스 Slave로 백업하여 옮기기
# db-01
mysqldump --all-databases -u root -p > db.dump
scp db.dump vagrant@db-s:/tmp
# db-02
mysql -u root -p < /tmp/db.dump
[db-02]
1. 계정 생성
grant replication slave ON *.* TO rep@'%' identified by 'dkagh1.';
flush privileges;
# 해당 계정은 replication slave을 연결하는 관리자 계정이므로 동기화 이후에는 어떤 계정을 사용 하던 상관 없다
Master - Slave 연결 계정 생성
2. Master 설정
# vim /etc/mysql/mariadb.conf.d/50-server.cnf
27 bind-address = 0.0.0.0
68 server-id = 1 #변경 - 주석제거
69 log_bin = /var/log/mysql/mysql-bin.log #변경 - 주석제거
3. mariadb 재시작
service mariadb restart
4. Slave 설정
# vim /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 0.0.0.0
server-id = 2 # maste와 다른 값으로 설정
relay_log=mysql-relay-bin #추가
log_slave_updates = 1 #추가
read_only = 1 #추가
innodb-read-only = 1 #추가-일관성데이터유지
5. mariadb 재시작
service mariadb restart
6. 동기화 설정
# Master
mysql -u root -p
show master status \G
# Slave
mysql -u root -p
stop slave;
CHANGE MASTER TO
-> MASTER_HOST='192.168.56.230', # Master IP 주소 부여
-> MASTER_PORT=3306,
-> MASTER_USER='rep',
-> MASTER_PASSWORD='dkagh1.',
-> MASTER_LOG_FILE='mysql-bin.000005', # Master log file name
-> MASTER_LOG_POS=1222;
start slave;
Slave 접속 후 Master 정보 넣어준다
7. 동기화 확인
# Slave
mysql -u root -p
show slave status \G
[db-01]
[db-02]
'Project' 카테고리의 다른 글
[Ansible] 02. Playbook 작성 (0) | 2023.03.15 |
---|---|
[Ansible] 01. 작업 환경 구성 (0) | 2023.03.15 |
[Linux] 04. WEB - DB 로드밸런싱 (0) | 2023.03.15 |
[Linux] 02. WEB - DB 연동 (0) | 2023.03.15 |
[Linux] 01. 작업 환경 구성 (0) | 2023.03.15 |