MySQL, MariaDB 최대 접속 설정
MySQL, MariaDB 최대 동시 접속 제한 설정 확인 및 수정 방법
트러블슈팅¶
업무 중에 MariaDB에서 아래와 같은 이슈가 발생했다.
찾아보니 최대 접속을 모두 사용해서 발생한 일이라고 하는데, max_connections
옵션에 대한 설정을 변경해서 해결할 수 있었다.
확인 방법¶
- 현재 설정 확인
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_connect_errors | 100 |
| max_connections | 151 |
+--------------------+-------+
Note
MariaDB 공식 문서에 따르면, MariaDB는 superuser를 위한 connection 하나를 반드시 남겨놓는다고 한다.
- 현재 접속 커넥션 통계 확인
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_connected | 4 |
+-------------------+-------+
- 최대 접속(peak) 통계 확인
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 4 |
+----------------------+-------+
Tip
MariaDB 공식 문서에 따르면, threads_connected
는 현재 접속 통계만을 보여주기 때문에 max_used_connections
을 사용하는 것이 더 유용하다.
설정 방법¶
쿼리¶
Note
이 방법은 SUPER
권한이 있는 유저로만 사용 가능하다.
설정 파일¶
my.cnf
, my.ini
등 설정 파일에 max_connections
설정이 정의되어 있는 경우 서비스 재시작 시 해당 설정으로 변경되기 때문에 설정 파일 자체를 변경해줘야 한다. 자세한 내용은 공식 문서 참고
Tip
해당 파일들의 일반적인 위치는 아래와 같다.
/etc/my.cnf
,/etc/mysql/my.cnf
$MARIADB_HOME/my.cnf
,$MYSQL_HOME/my.cnf