문제상황
캡쳐는 하지 못했지만 컴파일하는 과정에서
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으로 변경된걸 확인할수 있다!!