mysql 이중화 작업하다가 질문입니다.
본문
아래에서 말하는 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
싱크가 안맞아서 그런것입니다. 쿼리로 insert 시킨후 잘 들어가는지 보면됩니다.
slave에서 status 체크하셔서 master의 로그를 확인해보세요
크론탭으로 2시간에 한번씩 stop slave; start slave; 해주니까 안끊기네요.
아 이건 좀 아닌데 ....그렇게 하시면 서버에 부담이 갑니다. 자연스럽게 돌아가야정상입니다.
자문자답입니다.
slave-skip-errors = 1062 (여러개일 경우는 ,로 분리해서 쭈욱 나열해주면 됩니다.)
mysqld.cnf 에 넣어주면 되구요. 1062는 에러 코드입니다.
그리고 seconds_behind_master 를 유심히 봐주면 됩니다.
답변을 작성하시기 전에 로그인 해주세요.