mysql replication 작업 시 에러가 발생하였고, 이번 게시글은 mysql replication Last_IO_Errno : 2026 해결법에 대한 내용을 정리하여 작성하였습니다.
정상적으로 replication이 되어 있던 서버였는데, 어느날 확인 시 replication이 깨져 있었고 확인 시 아래와 같은 에러문구를 발견하였습니다.
>> 연결 실패 확인
mysql > show slave status\G
Last_IO_Errno : 2026
Last_IO_Error : error connecting to master ‘replica@x.x.x.x:3306’ – retry-time: 100 retries: 20
위와 같은 에러 문구를 발견하였고, Slave_IO_State 및 Slave_IO_Running 부분 확인시에도 master로 연결 시도하고있는것으로 보이나, 정상적으로 연결되지 않아 Connecting 문구가 뜨는것을 확인하였습니다.
구글링 시, Errno 2026 은 ssl 관련된 문제인점을 확인하였고, replication 상태 및 설정파일 확인시에 ssl 설정이 되어있는것을 확인하였습니다.
mysql > show slave status\G
# vi /etc/my.cnf
mysql에 접속하여 ssl이 정상 작동하고 있는지 확인해보니, DISABLED로 뜨고있는것을 확인하였습니다.
mysql > show variables like ‘%ssl%’;
확인해보니 master 서버와 slave 서버의 인증서가 다르게 설정되어 있었습니다…
아마도 인증서 변경 후 slave 서버에는 정상적으로 적용이 안되었던것으로 보입니다…
master 서버와 slave 서버 my.cnf에 동일한 인증서 경로를 넣어주고, 동일한 인증서로 변경 후 slave 서버에 replication 설정을 다시 걸어주었습니다.
replication 설정을 다시 걸어줄때는 slave stop 후 작업해야합니다.
mysql > stop slave;
CHANGE MASTER TO MASTER_HOST=’IP’,
MASTER_USER=’연결할 mysql 계정’,
MASTER_PASSWORD=’계정 pw’,
MASTER_LOG_FILE=’mysqlbin.000152′,
MASTER_LOG_POS=154,
MASTER_SSL=1,
MASTER_SSL_CA=’/home/ssl/ca-bundle.crt’,
MASTER_SSL_CERT = ‘/home/ssl/~.pem’,
MASTER_SSL_KEY = ‘/home/ssl/~.key’;
mysql > start slave;
설정파일 적용을 위해 mysql 재시작 후 replication을 확인했더니, 정상적으로 연결된 점을 확인하였습니다.
mysql > show slave status\G
mysql > show master status\G
이번 게시글은 작업하면서 발생한 mysql replication Last_IO_Errno : 2026 해결법에 대해서 작성해보았습니다.
문제가 발생할때마다 이런식으로 정리해놓으면 추후에 비슷한 문제가 발생했을때 처음만큼 삽질하지 않고 빠르게 해결할 수 있는것 같습니다.
다음에 또 유익한 글로 찾아오겠습니다.
읽어주셔서 감사합니다.
- 해당 url을 참고하여 에러를 해결하였습니다.