MySQL 데이터베이스에 액세스하려면 NodeJS 및 mysql
라이브러리를 사용하고 있습니다.NodeJS + mysql : 연결 풀을 사용하여 교착 상태 테이블로 연결
내가 하나의 연결을 설정하고 반복적으로 사용하는 경우, 그것을 잘 작동합니다 : 내가 대신 연결 풀을 사용하는 경우
global.mysql = mysql_module.createConnection({
host: config.mysql.host,
user: config.mysql.user,
password: config.mysql.password
});
, 나는 거래 ER_LOCK_WAIT_TIMEOUT
오류를 얻을.
global.mysql = mysql_module.createPool({
host: config.mysql.host,
user: config.mysql.user,
password: config.mysql.password,
database : config.mysql.database,
connectionLimit : 50
});
이상하게도 정확하게 동일한 데이터에서 정확히 같은 시간에 오류가 발생합니다. 즉, 나는 이전에 성명에서 마지막으로 삽입 된 ID를 사용할 때마다 3 개의 테이블에 연속적으로 삽입하는 트랜잭션이 있습니다. 일부 데이터에서는 제대로 작동하지만 일부 데이터에서는 세 번째 INSERT
이 ER_LOCK_WAIT_TIMEOUT
오류를 생성합니다. NodeJS에서 단일 연결을 사용할 때 이것은 제대로 작동하므로 연결 풀과 관련된 문제 여야합니다.
도움을 주시면 감사하겠습니다.