작성
·
382
·
수정됨
0
Master-Slave Replication 구성하기 파트에서
4:52 영상을 보시면 Slave 서버에 Master 서버와 연결하는 작업 명령어가 있는데요.
먼저 Master 서버랑
# Replication user 생성 (db001 - Master)
CREATE USER 'repl'@'%' IDENTIFIED BY 'repl';
GRANT REPLICATION SLAVE ON . TO 'repl'@'%';
#Slave 서버 Replication 설정 (db002, db003 - Slave)
reset master;
CHANGE MASTER TO MASTER_HOST='172.17.0.2', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_AUTO_POSITION=1;
start slave;
show slave status\G
Slave 서버에서 mysql 접속 후
CHANGE MASTER TO MASTER_HOST='172.17.0.2', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_AUTO_POSITION=1;
해당 명령어를 입력 하게 되면 이런 에러가 발생됩니다.
ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
에러가 발생되는데 이유가 무엇일까요?
도커 내부 아이피 (Master 서버 db001) 172.17.0.2 체크
Master 서버에 repl 유저 권한 추가 및 설정
my.conf 파일 Master, Slave 서버 셋팅 확인 및 설정 값 체크
두가지 체크를 해보았지만 해결이 되지 않고 있네요...
원인이 무엇일까요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
리나님, MySQL Replication 설정 중 발생하는 오류 문제에 대해 문의하셨군요. 에러 메시지 “ERROR 1794 (HY000)“는 Slave 서버의 --server-id
가 설정되어 있지 않거나 초기화에 실패했다는 내용을 알려줍니다. 복제를 위해서 Master 서버와 Slave 서버 모두 고유한 server-id
를 갖고 있어야 합니다.
문제 해결을 위해 다음 항목들을 확인해 보시기 바랍니다:
Slave 서버의 my.cnf(my.ini) 설정 파일에서 server-id
가 명시적으로 지정되어 있는지 확인하세요. 이 값은 Master 서버의 server-id
와 달라야 합니다.
[mysqld]
server-id = 2
각 Slave 서버는 고유한 server-id
값을 가져야 합니다.
설정 변경 후 MySQL 서버를 재시작했는지 확인하세요. 변경사항을 적용하기 위해선 서비스 재시작이 필요합니다.
이미 복제를 시도한 후라면, Slave 서버에서 RESET SLAVE;
를 실행하여 복제 설정을 초기화한 후 다시 시도해 보세요.
MySQL 로그 파일을 확인하여 추가적인 에러 메시지가 있는지 확인하세요. 로그 파일은 보통 /var/log/mysql/
디렉토리나 /var/log/mysqld.log
파일에 있을 수 있습니다.
CHANGE MASTER TO
명령 이전에 Replication 관련 권한과 설정이 Master 서버에서 올바르게 이루어졌는지, 사용자 ‘repl’이 제대로 생성되었는지 다시 한 번 확인해 보시기 바랍니다.
위의 항목들을 확인하시고 여전히 문제가 해결되지 않는다면, 다시 한 번 설정 파일과 권한 부여 과정을 자세히 살펴보시기 바랍니다. 때때로 미세한 설정의 오류나 접근 권한의 문제로 예상치 못한 에러가 발생할 수 있습니다.
참고가 되셨길 바랍니다. 추가적인 도움이 필요하시면 언제든 문의해 주세요.