일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- EC2
- utf8mb4
- AWS
- .env
- reacts3
- 리액트
- 코딩테스트
- prettier
- Node
- 커밋 한번에
- vscode
- dotenv
- 자연수 뒤집어 배열로 만들기
- 부족한 금액 계산하기
- axios
- interactive_timeout
- 제일 작은 수 제거하기
- react
- 프로그래머스
- max_allowed_packet
- next #middleware
- express
- 자동완성방지
- MySQL
- useReducer
- elasticIP
- 코드정렬
- 리액트코드정렬
- 프리티어
- s3확장자
- Today
- Total
Sungtt
PROTOCOL_PACKETS_OUT_OF_ORDER 본문
PROTOCOL_PACKETS_OUT_OF_ORDER
AWS EC2 서버를 구동중일 때 몇시간동안 아무 행동이 없으면
mysql에서 이러한 오류가 뜨면서 서버가 멈춘다.
스택오버플로우를 뒤져보니
1.max_allowed_packet을 더 높은값으로 변경하면 해결될것이라 했다.
2. interactive_timeout과 wait_timeout 값 변경하기
max_allowed_packet
통신간 데이터전송량을 정하는 설정이다.
interactive_timeout
콘솔이나 터미널모드에서 mysqld와 clinet가 연결을 맺은 다음 요청을 기다리는 최대 시간이다.
wait_timeout
api를 이용한 client프로그렘 상에서 최대 연결시간을 말한다.
설정된 시간동안 아무요청이 없으면 연결은 취소되고, 다시 요청이 들어오면 자동으로 연결이 맺어진다.
우선 max_allowed_packet을 변경해보자
아래 명령어를 입력해보면 현재 설정되어있는 max_allowed_packet을 볼 수 있는데
67108864로 설정되어있다.
show variables like 'max%'
max_allowed_packet 변경하기 (리눅스)
우선 aws ec2에서 변경해보겠다.
CLI에서 아래 명령어를 입력하면 my.cnf 위치가 표시된다.
mysqld --verbose --help | grep -A 1 'Default options'
etc/로 디렉토리로 접속하고, root권한을 얻은채로 my.cnf를 편집하자 (vi my.cnf)
권한이 없으면 read only만 되어 편집이 되지않는다. 새파란 글씨에 뭐라 써져있는지 잘 안보인다...
여기서 [mysqld] 아래쪽에 max_allowed_packet = 500M (최대 1G라고 한다)라고 기입해준 뒤 저장하고 나온다. (:wq)
그 후 systemctl restart mysqld를 명령하여 재부팅시키고 max_allowed_packet 값을 확인해보면 늘어난것을 볼 수 있다.
interactive_timeout / wait_timeout 변경하기
먼저 아래 명령어로, 현재 설정값을 확인해보면
각각 8시간으로 되어있는것을 확인할 수 있다.
show variables like 'interactive%'
show variables like 'wait%'
다시 my.cnf로 접속하여 코드를 추가해준다.
interactive_timeout = 86400
wait_timeout = 86400
value값의 단위는 초단위다.
나는 86400(24시간)으로 설정해주었다.
입력했으면 저장하고 나온 뒤 systemctl restart mysqld으로 다시 재부팅한 뒤 값을 확인해보자.
잘 변경되었다.
변경 한 뒤로 또 이런 오류가 나타난다면 다시 방법을 찾아 글을 수정해야겠다.
'mysql' 카테고리의 다른 글
기존 테이블 생성 시 필요한 쿼리문 조회하기 (0) | 2022.08.14 |
---|---|
mysql 테이블 복사하기 (0) | 2022.05.10 |
mysql 데이터값 이어서 저장하기 CONCAT_WS (0) | 2022.04.29 |
ORM (Object-Relational Mapping)이란..? (0) | 2022.03.02 |
Client does not support authentication protocol requested by server; consider upgrading MySQL client (0) | 2022.02.27 |