programing

mysql: 특정 데이터베이스에 대해 열려 있는 모든 연결을 볼 수 있습니까?

newsource 2022. 11. 17. 21:16

mysql: 특정 데이터베이스에 대해 열려 있는 모든 연결을 볼 수 있습니까?

관리 권한 immysql을 사용하여 서버 내의 특정 DB에 대해 열려 있는 연결을 모두 표시하려면 어떻게 해야 합니까?

명령어는

SHOW PROCESSLIST

불행히도, 그것은 좁혀지는 매개 변수를 가지고 있지 않습니다.필요한 경우 명령줄에서 수행할 수 있습니다.

mysqladmin processlist | grep database-name

다음 항목도 사용할 수 있습니다.

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-문제 사용 가능

그러면 최신 MySQL 버전에 문제가 없습니다.

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "elstream_development";

MySQL show status 명령을 실행할 수 있습니다.

'Conn%'와 같은 상태를 표시한다.

자세한 내용은 열린 데이터베이스 연결 표시를 참조하십시오.

SQL: 전체 프로세스 목록 표시;

이것이 MySQL Workbench가 하는 일입니다.

MySql에서 다음 쿼리는 열려 있는 총 연결 수를 보여 줍니다.

show status like 'Threads_connected';

*nix 시스템을 사용하는 경우 mytop도 고려하십시오.

결과를 하나의 데이터베이스로 제한하려면 실행 중일 때 "d"를 누른 다음 데이터베이스 이름을 입력합니다.

여기서 모니터링 컨텍스트에서는 데이터베이스별로 정렬된 모든 데이터베이스에 대한 연결을 쉽게 볼 수 있습니다.이 데이터로 쉽게 감시할 수 있습니다.

SELECT DB,USER,HOST,STATE FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY DB DESC;
+------+-------+---------------------+-----------+
| DB   | USER  | HOST                | STATE     |
+------+-------+---------------------+-----------+
| web  | tommy | 201.29.120.10:41146 | executing |
+------+-------+---------------------+-----------+

호스트의 핫 최대 접속이 발생하고 나서 접속할 수 없는 경우는, 호스트 테이블을 플러시 해 리셋 할 수 있습니다.이것은 다음과 같습니다.

FLUSH HOSTS;

쿼리 브라우저에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 프로세스 목록을 선택합니다.

언급URL : https://stackoverflow.com/questions/1620662/mysql-see-all-open-connections-to-a-given-database