현재 상태 확인
$ show status like '%CONNECT%';
- Aborted_connects: MySQL 서버 접속이 실패된 count
- Connections: 연결된 쓰레드 count
- Max_used_connections: 최대로 동시에 접속한 count
- Threads_connected: Thread Cache의 Thread count
$ show status like '%thread%';
- Threads_connected: 현재 연결된 Thread 수
- Threads_created: 접속을 위해 생성된 Thread 수
- Threads_running: Sleeping 되어 있지 않은 Thread 수
max_connect_errors 확인
$ mysql > select @@global.max_connect_errors;
max_connect_errors 변경
$ mysql > set global max_connect_errors=10000;
에러 카운트 초기화
$ mysql > flush hosts;
max_connections 카운트 확인
$ mysql > select @@global.max_connections;
max_connections 변경
$ mysql > set global max_connections=10000;
또는?
timeout의 종류
interactive_timeout
- mysql> 과 같은 콘솔이나 터미널 모드(대화형 클라이언트)에서 mysqld와 client가 연결을 맺은 다음 요청을 기다리는 최대시간
wait_timeout
- API를 이용한 client 프로그램(PHP, JDBC, ODBC...) 상에서 최대 연결시간을 말하며, 설정된 시간 동안 아무 요청이 없으면 연결은 취소되고 다시 요청이 들어오면 자동으로 연결이 맺어진다. 현재 설정된 값을 확인 하시려면 아래와 같은 명령으로 확인 가능하다.
접속 지속시간 확인
$ show global variables like '%timeout%';
접속 지속시간 변경
$ set wait_timeout=60;
cli에서 접속시간 확인 문제?
$ show variables like 'wait_timeout';
에서는 확인이 안된다,
왜냐하면 interactive mode로 접속을했기때문에 interactive timeout 설정값을 보여준다.
wait timeout을 확인하고 싶으면
$ show global variables like '%timeout%';
이걸로 확인하면 된다.