mysql replication을 구성한후 운영도중 “Last_IO_Errno: 1236 Last_IO_Error”에러가 발생되었습니다.
해당에러는 slave 서버에서 show slave status\G 명령어를 이용하여 확인이가능하였습니다.
replication구성은 master – 1대 / slave -3대로 구성되어있었으며,
slave서버에서 data를 변경 또는 삭제시 위와같은 증상이 발생됩니다.
해당 오류를 해결하는 방법입니다.
<master 서버>
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS; -> File과 Position의 내용을 메모해둡니다.
ex) File: mysql-bin.000001 / Position: 107
mysqldump -uroot -p –events –ignore-table=mysql.events –all-databases > mysqldump.sql
UNLOCK TABLES;
이후 dump한 파일을 slave서버로 전송합니다.
scp -p mysqldump.sql test@192.168.0.2:/usr/local/src/
scp -p mysqldump.sql test@192.168.0.3:/usr/local/src/
scp -p mysqldump.sql test@192.168.0.4:/usr/local/src/
<slave 서버>
STOP SLAVE;
mysql -uroot -p < mysqldump.sql
RESET SLAVE;
CHANGE MASTER TO MASTER_HOST=’마스터서버IP’, MASTER_USER=’리플리케이션유저’, MASTER_PASSWORD=’리플리케이션유저암호’;
CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000001′, MASTER_LOG_POS=107; -> master 서버에서 확인한 File과 Position의 내용을 입력합니다.
START SLAVE;
위내용은 각각의 slave 서버들모두 진행을 하여야합니다.
이후 show master status\G 와 show slave status\G 명령을 이용하여 각각의 서버들의 상태를 확인합니다.