최근 MySQL DB에서 Too many connections 에러가 발생하면서 정상적으로 기능하지 않았던 적이 있었다.
데이터베이스와 연결된 클라이언트의 수, 즉 접속 수가 너무 많아서 발생한 에러인데, 최대 접속 가능 수와 현재 접속 수를 확인하는 쿼리를 적어둔다.
최대 접속 가능한 수(max_connections) 확인
SHOW VARIABLES LIKE '%max_connection%';
이 데이터베이스는 최대 1000개의 접속을 허용한다.
현재 접속 수(Threads_connected) 확인
MySQL에 접속되어 있다는 것은 각각에 대해 Thread가 실행되고 있는 것이다. 따라서 연결된 스레드 수가 바로 접속 수에 해당한다.
SHOW STATUS LIKE 'Threads_connected';
이 데이터베이스는 현재 52개의 클라이언트가 접속하고 있다.