mysql : 주어진 데이터베이스에 대한 모든 열린 연결을 봅니까?


답변:


169

명령은

SHOW PROCESSLIST

안타깝게도 축소 매개 변수가 없습니다 . 필요한 경우 명령 줄에서 수행 할 수 있습니다.

mysqladmin processlist | grep database-name

23
mysqladmin -i 1 processlist매초마다 출력을 새로 고칩니다.
— chanux 2014

5
인증이 필요한 경우mysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
— Tom Jenkinson

2
나는 암호가 명령 행 역사 또는 프로세스 목록에 표시하지 않기 때문에 @TomJenkinson 나는 보통 그것을 사용하지 않는 (PS 보조)
— 데이비드 라 비노 위츠

@chanux의 대안으로 약간 더 깔끔한 출력 imhowatch -n1 mysqladmin processlist
— Josiah

64

또한 다음을 사용할 수 있습니다.

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을 자유롭게 사용하십시오.


2
어쨌든 대소 문자를 구분하지 않습니다. Why %onn%대신 %conn%?
— Pacerier

물론 % onn % 대신 % conn %를 사용할 수 있습니다. 그리고 예, 대부분 대소 문자를 구분하지 않습니다. 대소 문자 구분을 참조하시기 바랍니다 dev.mysql.com/doc/refman/5.0/en/...
— wiseland

1
통계 / 이력 데이터를 보여줍니다. 문제는 현재 열려있는 연결에 관한 것입니다.
— Matthew

32

최신 MySQL 버전에 대한 트릭을 수행해야합니다.

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


3
이것은 선택된 것을 제외하고는 mysqladmin. 대신 SQL을 사용하여 수행 할 수있는 유일한 정답입니다 .
— dresende

2
감사합니다. 이것이 제가 원했던 대답입니다.

1
이 답변은 매우 유용하며 모든 연결과 쿼리를 표시하여 제 경우에 큰 도움이 될 수 있습니다.
— Hammad Khan

10

MySQL show status 명령을 호출 할 수 있습니다.

'Conn %'와 같은 상태 표시;

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


3
죄송합니다.이 솔루션은 하나의 값만 표시합니다. " '% onn %'과 같은 상태 표시"명령을 선호합니다. 동일한 참조 웹 페이지에 있습니다.
— Raul Luna

@RaulLuna,이 경우는 왜, 어쨌든 문자를 구분의 %onn%대신 %conn%?
— Pacerier

@Pacerier 그 이상입니다. "연결"단어가 더 큰 단어 (예 : max_used_connections)의 일부로 나타나는 경우입니다. 물론 '% conn %'와 같은 상태 표시를 사용할 수 있습니다.
— Raul Luna

@RaulLuna, "연결"단어가 더 큰 단어의 일부로 나타나면 %onn%및 둘 다 %conn%계속 작동합니다. 차이 없음.
— Pacerier

1
왜 이것이 마크 업되어 있습니까? 현재 열려있는 연결은 표시되지 않습니다.
— James


3

MySql에서 다음 쿼리는 열린 연결의 총 수를 표시합니다.

show status like 'Threads_connected';

2

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

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


이 앱은 show processlist내부적으로 도 사용되지 않나요?
— Pacerier

나는 그것을 믿는다. mytop은 필터링 옵션으로 정보를 깔끔하게 보여줍니다. 나는 과거에 성능 문제를 분석하는 동안 그것을 많이 사용했습니다. 또한 응급 상황에서는 컴퓨터에 로그온하고 mytop을 실행 한 다음 상황을 즉시 확인하는 것이 더 빠릅니다. "정상"을 실행하는 것과 비슷합니다.
— Pryo 2015-06-29

더 많은 구성 요소를 사용하면 더 많은 버그에 노출됩니다. show processlist의 출력이 만족 스럽기 때문에 왜 필요 mytop합니까?
— Pacerier

2
"ps aux"가 만족할 때 왜 "top"을 사용합니까?
— Pryo 2015-07-17

-1

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


이것은 클라이언트에 따라 다릅니다.
— Nino Škopac
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.