mysql에서 관리 권한으로 서버의 특정 DB에 대한 모든 열린 연결을 어떻게 볼 수 있습니까?
mysql에서 관리 권한으로 서버의 특정 DB에 대한 모든 열린 연결을 어떻게 볼 수 있습니까?
답변:
명령은
SHOW PROCESSLIST
안타깝게도 축소 매개 변수가 없습니다 . 필요한 경우 명령 줄에서 수행 할 수 있습니다.
mysqladmin processlist | grep database-name
mysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
watch -n1 mysqladmin processlist
또한 다음을 사용할 수 있습니다.
mysql> show status like '%onn%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Aborted_connects | 0 |
| Connections | 303 |
| Max_used_connections | 127 |
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_finished_connects | 0 |
| Threads_connected | 127 |
+--------------------------+-------+
7 rows in set (0.01 sec)
Mysql-server-status-variables 또는 Too-many-connections-problem을 자유롭게 사용하십시오.
%onn%
대신 %conn%
?
최신 MySQL 버전에 대한 트릭을 수행해야합니다.
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "elstream_development";
mysqladmin
. 대신 SQL을 사용하여 수행 할 수있는 유일한 정답입니다 .
%onn%
대신 %conn%
?
%onn%
및 둘 다 %conn%
계속 작동합니다. 차이 없음.
SQL : 전체 프로세스 목록 표시;
이것이 MySQL Workbench가하는 일입니다.
* nix 시스템을 실행하는 경우 mytop 도 고려하십시오 .
결과를 하나의 데이터베이스로 제한하려면 실행 중일 때 "d"를 누른 다음 데이터베이스 이름을 입력합니다.
show processlist
내부적으로 도 사용되지 않나요?
show processlist
의 출력이 만족 스럽기 때문에 왜 필요 mytop
합니까?
mysqladmin -i 1 processlist
매초마다 출력을 새로 고칩니다.