티스토리 뷰
OS : CentOS 6.10
Mysql : 5.1.73
Replication 으로 구성한 시스템의 Slave 서버에서 다음과 같은 에러가 발생하였다.
190602 17:31:39 [ERROR] Error reading packet from server: Got packet bigger than 'max_allowed_packet' bytes ( server_errno=2020)
190602 17:31:39 [ERROR] Log entry on master is longer than slave_max_allowed_packet (1073741824) on slave. If the entry is correct, restart the server with a higher value of slave_max_allowed_packet
190602 17:31:39 [ERROR] Slave I/O: Got a packet bigger than 'slave_max_allowed_packet' bytes, Error_code: 1153
190602 17:31:39 [Note] Slave I/O thread exiting, read up to log 'LOG.000014', position 84672470
MySQL Error Codes
1153 SQLSTATE: 08S01 (ER_NET_PACKET_TOO_LARGE) Got a packet bigger than 'max_allowed_packet' bytes
2020 (CR_NET_PACKET_TOO_LARGE) Got packet bigger than 'max_allowed_packet' bytes
Master 서버의 환경변수 확인
mysql> show variables like '%allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 4194304 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
Slave 서버의 환경변수 확인
mysql> show variables like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 4194304 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
두개의 환경 변수가 동일한테 뭔가 이상한것 같다.
master , slave의 my.cnf 를 보니 'max_allowed_packet' 값을 이중으로 세팅한 것으로 확인되었다.
[mysqld]
max_allowed_packet=128M
#Replication
max_allowed_packet = 4M
위와 같이 설정되어 있지만, DB 재시작 후 적용은 4M로 된것으로 확인 할수 있었다.
4M 항목을 주석처리하고 DB를 재시작 해보도록 할 예정이다.
이후 확인하는 작업이 필요할것 같다.
참고 ) https://dzone.com/articles/maxallowedpacket-and-binary
https://blackbull.tistory.com/12
추가)
위의 내용대로 진행 후 리플리케이션이 깨진 지 3일 만에 포지션을 맞추고 슬레이브를 재시작 했을때, 다음과 같이
에러가 발생하였다.
190605 10:43:26 [ERROR] Slave SQL: Could not execute Update_rows event on table DB.table; Can't find record in 'counterLogin', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's
master log LOG.000018, end_log_pos 268933, Error_code: 1032
190605 10:43:26 [Warning] Slave: Can't find record in 'counterLogin' Error_code: 1032
190605 10:43:26 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'LOG.000018' position 268734
DB Engine Type 이 모두 Myisam 이어서 파일을 복사하고 동기화를 해도 에러가 발생하였다.
결국 해당 DB 를 dump 하여 저장하고, 해당 파일을 복원하는 작업을 진행하고 나서야 문제가 해결되었다.
'기록남기기' 카테고리의 다른 글
jetty 설치 (0) | 2020.11.26 |
---|---|
k8s (0) | 2020.02.18 |
tomcat session cluster with redis (2) | 2019.09.19 |
docker root 경로 변경 (0) | 2019.05.21 |
mysql 컬럼 변경 (0) | 2019.05.21 |
- Total
- Today
- Yesterday
- 이자카야
- 성수
- 마라탕#하안동
- 축구평가전
- 빗썸
- 스시
- 오후전략 완료~ 신일전자 2100원/에스트래픽 4180원/분할매수/가치를 믿자!
- 인터파크 티켓팅
- ㅗ험
- 우루과이
- 비트코인
- ㅅ음
- 검단
- 구글홈
- centos7 #docker
- 인시그니아
- confluent #kafka # control center
- 영화
- 오징어청춘
- ㅐ
- 성수동
- 광명동굴
- ISA #연금저축펀드 #IRP
- 먼 훗날 우리
- 평생학습원
- MySQL
- 하안동
- redis
- 신천역
- k8s #kubernetes
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |