🚨에러노트

[Sovled][RDS] java.sql.SQLNonTransientConnectionException: Too many connections 에러

디카페인라떼 2022. 10. 15. 12:52
문제상황

캡쳐는 하지 못했지만 컴파일하는 과정에서 

java.sql.SQLNonTransientConnectionException: Too many connections

라는 에러가 떴다 

해결방법

일단 처음보는 에러여서 구글링을 해보았다. 역시 말 그대로 connection이 많아서 나는 에러였다

 

//현재 최대 연결 확인
show variables like 'max_connections';

👉 65 정도.. 여러 명이 하는 프로젝트다 보니 다들 로컬에서 연결해놔서 그런가보다.. 

 

 //최대 연결량 증가 시킴
 set global max_connections=500;

하지만 역시 세상은 호락호락하지 않았다..

 

 

👉Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation

=> 응 너 그럴 권한 없엉ㅋ 

 

이 부분을 이해하려면 무작정 왜 권한이 없지 ㅠ 하면 안되고 

 

👉On-premise와 Cloud의 차이점 에 대해 알아야 한다.

 


온 프레미스 On-premise
  • 서비스를 공급하는 서비스 제공자가 직접적으로 IT 자원을 관리하는 주체

 

클라우드 Cloud
  • 서비스를 공급하는 제공자는 IT 자원을 사용할 뿐, 대부분의 IT 자원 관리는 클라우드 서비스 제공자에게 제공 받음

즉, 내가 현재 사용하고 있는 mysql은 RDS -> 클라우드 시스템 이기때문에 권한이 없는 것!

그래서 RDS를 관리하고 있는 ec2에서 설정을 변경해 주어야 한다!

 

👉RDS로 들어간 뒤에 파라미터 그룹으로 들어간다

 

👉 이전에 설정을 건들지 않았다면 디폴트만 있을 것이다. 기본은 수정이 안되므로 파라미터 그룹 생성 클릭

 

👉 그룹 이름 과 설명을 간략히 적고 생성을 해준다

 

<기존>

<수정>

👉 파라미터 편집을 누르고 검색 -> 값 변경 -> 변경사항 저장

✔max_connections = 500

 

👉데이터 베이스로 들어가서 변경할 DB를 선택한 후 수정을 눌러준다

 

👉 하단으로 내리면 DB 파라미터 그룹 변경이 가능하다!

 

👉🧨꼭 재부팅을 한번 해주어야 한다!!🧨

 

그리고나서 다시 확인해보면 

 

 

👉500으로 변경된걸 확인할수 있다!!