테스트 사이트 - 개발 중인 베타 버전입니다

mysql 이중화 작업하다가 질문입니다. 채택완료

jaykjayk5 5년 전 조회 3,415

아래에서 말하는 master to 란

mysql> change master to
master_host='192.168.65.148',
master_user='repl_user',
master_password='test456',
master_log_file='mysql-bin.000010',
master_log_pos=1487;
를 뜻합니다. 혹시 slave 서버에서 mysqld.cnf 에서 master to 하는 방법은 없나요?

꼭 mysql -p 에서 master to 해야 하는건가요?

왜냐면 mysql -p 에서 master to 하니까 12시간이나 몇시간이 지난 뒤 Read_Master_Log_Pos 와 Exec_Master_Log_Pos 번호가 서로 다르다던지 Slave_IO_Running 또는 Slave_SQL_Running 중 한개에 No 로 바뀐다던지 합니다.

왜 그럴까요?

지금은 하도 이상해서 change master to 후에 flush privileges; 를 적용했습니다.

몇시간 후 또 어떻게 될지 모르는데......... 누가 시원한 답변 좀 주세요. ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
5년 전

싱크가 안맞아서 그런것입니다. 쿼리로 insert 시킨후 잘 들어가는지 보면됩니다.

slave에서 status 체크하셔서 master의 로그를 확인해보세요 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

j
5년 전

자문자답입니다.

slave-skip-errors = 1062  (여러개일 경우는 ,로 분리해서 쭈욱 나열해주면 됩니다.)

mysqld.cnf 에 넣어주면 되구요. 1062는 에러 코드입니다.

그리고 seconds_behind_master 를 유심히 봐주면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

아 이건 좀 아닌데 ....그렇게 하시면 서버에 부담이 갑니다. 자연스럽게 돌아가야정상입니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

j
jaykjayk5
5년 전
그래도 안되더라구요. 그 와중에 알아낸게 mysqld.cnf 파일(my.cnf) 파일에 bind address 를 주석처리해서 그렇게 된거 같더라구요. 그래서 다시 주석처리 빼고 아이피 집어넣으니까 정상작동 되고 있습니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

j
5년 전

크론탭으로 2시간에 한번씩 stop slave; start slave; 해주니까 안끊기네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인