1040: Too many connections
MySQL의미
서버가 max_connections가 허용하는 최대 동시 접속 수에 도달해 새 접속을 거부하고 있다.
원인
크기가 잘못된 커넥션 풀, 커넥션 누수, 수명이 짧은 많은 접속, 오래 대기 중인(Sleep) 접속, 또는 워크로드에 비해 너무 낮은 max_connections 값.
해결 방법
접속을 확인한다: SHOW PROCESSLIST 또는 SELECT * FROM performance_schema.processlist. 불필요한 sleep 접속은 KILL로 종료한다. max_connections를 늘린다: SET GLOBAL max_connections = 500(영구 적용은 my.cnf). 근본 해결은 커넥션 풀을 사용하고 wait_timeout으로 idle 접속을 닫는 것이다. SUPER/CONNECTION_ADMIN용으로 긴급 관리 접속 1개가 추가로 예약되어 있다.
같은 데이터베이스의 다른 항목
- 1062Duplicate entry for key
- 1213Deadlock found when trying to get lock; try restarting transaction
- 1205Lock wait timeout exceeded; try restarting transaction
- 1064You have an error in your SQL syntax
- 1146Table doesn't exist
- 1054Unknown column in field list
- 2002Can't connect to local MySQL server through socket