Slave 서버는 Master의 데이터를 받아오며, 데이터 일관성을 위해 읽기 전용으로 설정한다.
1. mysqld.cnf 수정
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld 섹션 설정]
[mysqld]
bind-address = 0.0.0.0
server-id = 2 # Master와 다른 번호 부여
read_only = 1 # 일반 사용자 쓰기 금지
super_read_only = 1 # 관리자(root) 포함 쓰기 금지
# MySQL 재시작
sudo systemclt restart mysql
2. Master 정보 등록 (연결 설정)
Master 서버에서 확인했던 로그 정보를 입력한다.
sudo mysql -u root -p
-- Slave 서버의 MySQL 쉘에서 실행
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='<MASTER_PUBLIC_IP>', -- Master 서버의 공인 IP 주소
SOURCE_USER='repl_user', -- Master에서 생성한 복제 전용 계정명
SOURCE_PASSWORD='1234', -- 복제 전용 계정의 비밀번호
SOURCE_LOG_FILE='mysql-bin.000001', -- [Master 서버 단계에서 메모한 File명]
SOURCE_LOG_POS=713, -- [Master 서버 단계에서 메모한 Position 값]
SOURCE_SSL=1; -- 통신 보안을 위한 SSL 암호화 활성화
3. 복제 시작 및 상태 확인
START REPLICA; -- 복제 프로세스 시작
SHOW REPLICA STATUS\G
- 성공 지표: Replica_IO_Running: Yes 와 Replica_SQL_Running: Yes 확인
- 주의: 만약 Connecting 상태에서 멈춰있다면 AWS 보안 그룹(Security Group) 3306 포트가 Master 서버에서 Slave IP에 대해 허용되어 있는지 확인한다.

'[쿠버네티스] AWS 구축 > 5. EC2에서 MySQL Master-Slave 구성' 카테고리의 다른 글
| 참고) 운영 환경을 위한 커넥션(Connection) 최적화 및 트러블슈팅 (0) | 2026.03.24 |
|---|---|
| 4. 실전 테스트: 복제 및 읽기 전용 검증 (0) | 2026.03.24 |
| 2. Master 서버 설정 (원본 데이터 서버) (0) | 2026.03.24 |
| 1. EC2(Ubuntu 22.04) 에서 MySQL 8.0 설치 및 초기 설정 (Master/Slave 공통) (0) | 2026.03.24 |