320x100
현상: go와 c++ 서버에서 공통적으로 DB 에러가 발생함
에러는 주로 commands out of sync. + 추가 에러로 발생했는데
go 에서는 Did you run multiple statements at once? 라는 에러가 발생했다.
원인: statement 실행 중 다른 statement를 실행하고 defer로 종료하는 것이 원인으로 추측돼서 내부 defer 내부stmt.Close()를 명시적으로 바꿔줬으나 변화 없었음
해당 에러를 검색한 결과 MariaDB v10에서만 발생하는 문제라는 이야기가 있었으나 구체적인 원인은 보이지 않아서 패스
https://github.com/go-gorm/gorm/issues/3001
최종 확인 결과 서버의 최대 Connection이 기본 값인 151으로 되어있었고
SHOW VARIABLES LIKE '%max_connection%';
현재 Connection 값이 그 보다 더 많았다.
SHOW STATUS LIKE 'Threads_connected';
결과: 임시로 최대 접속 값을 늘려주고
SET global max_connections=2000;
차후 재시작을 대비해 MariaDB config 파일을 수정해준다.
설치경로\MariaD.10.5\data\my.ini 에 [mysqld]에 max_connections=2000 추가
320x100
'DB > MYSQL' 카테고리의 다른 글
mysql에서 ip를 이용한 connect가 실패하는 경우 (0) | 2022.12.05 |
---|---|
[MariaDB] Commands out of sync; you can't run this command now (0) | 2022.12.02 |
서버에서 DB로 UTF-8 데이터 삽입시 데이터가 깨지는 문제 (0) | 2022.11.08 |
SELECT FOR UPDATE (0) | 2022.10.20 |
DB Link (0) | 2022.08.31 |