DB/MYSQL

[MariaDB] commands out of sync. Did you run multiple statements at once?

MAKGA 2022. 12. 1. 15:43
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