MARIADB - QUERY 패킷 전송 중 오류 발생(max_allowed_packet 아님)
데이터를 데이터베이스(MariaDB)에 저장하는 PHP7 스크립트에 문제가 있습니다.스크립트는 이전 호스팅 패키지에서는 정상적으로 동작했지만 새로운 VPS에서는 동작하지 않았습니다.
Warning: Error while sending QUERY packet. PID=1208 in ...
다른 스레드로 인해 설정을 확인했지만 설정은 다음과 같습니다.
- max_allowed_private = 1GB
- wait_module = 10
이 문제를 더 검토해보니 쿼리 자체에는 문제가 없습니다(phpMyAdmin에서는 정상적으로 실행됩니다).
이는 접속을 닫지 않고 2개의 쿼리를 연속적으로 실행하는 것과 관련이 있는 것 같습니다(두 번째 쿼리는 실패).
이전 호스팅에서도 같은 스크립트가 정상적으로 실행되었으므로, 설정임에 틀림없습니다.생각나는 사람 있나요?
고마워요, 벤
MariaDB 구성(/etc/my.cnf):
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1GB
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_file_per_table
max_connections=70
max_user_connections=30
wait_timeout=10
interactive_timeout=50
long_query_time=5
물어본 지 1분 만에 제 질문에 답을 했습니다.이것이 문제였습니다.
wait_timeout=10
이전의 호스트 구성에서는 =180 이었기 때문에, 제대로 작성되지 않은 스크립트가 동작합니다.=10에서는 작업을 완료하기에 충분한 시간이 없습니다.지금은 180으로 늘렸지만, 이 경우 핸들을 추가해야 합니다.
나도 똑같은 문제가 있는데 정말 짜증나.쿼리는 빠르게 실행되지만, 어느 시점에서는 설명 가능한 이유 없이 계속 행업하고 잠깁니다.60초로 해놨는데 늘리는 건 좋은 해결책이 아닌 것 같아요.
즉, 스크립트는 60초 이상 걸리고 데이터베이스는 없어졌습니까?
그러나 SQL이 SHOW PROCESS LIST에 걸려 있기 때문에 "데드록"되어 있는 것을 알 수 있었습니다.SELECT + JOIN만 사용합니다.그래서 SQL이 문제지...하지만 작동시키면...너무 이상해요
연결이 안 끊긴다고 하셨는데 말이 안 돼요.연결이 자동으로 닫힙니다.
언급URL : https://stackoverflow.com/questions/41398490/mariadb-error-while-sending-query-packet-not-max-allowed-packet
'programing' 카테고리의 다른 글
WAMP WORDPRESS가 MySQL에 연결되지만 Maria에는 연결되지 않음DB (0) | 2022.11.01 |
---|---|
플라스크 앱을 여러 개의 py 파일로 분할하는 방법은 무엇입니까? (0) | 2022.11.01 |
ORM 매핑의 '소유측'이란 무엇입니까? (0) | 2022.11.01 |
SQL Chemy - 테이블 목록 가져오기 (0) | 2022.11.01 |
ReactJS - "setState"가 호출될 때마다 렌더가 호출됩니까? (0) | 2022.11.01 |