programing

SHOW PROCESS LIST에서 전체 쿼리를 표시하는 방법

goodsources 2022. 9. 4. 20:13
반응형

SHOW PROCESS LIST에서 전체 쿼리를 표시하는 방법

발행할 때SHOW PROCESSLISTquery 실행 중인 SQL 쿼리의 처음 100자만 info 열에 반환됩니다.

MySQL 구성을 변경하거나 다른 종류의 요청을 발행하여 전체 쿼리를 볼 수 있습니까? (지금 보고 있는 쿼리는 100자 이상)

SHOW FULL PROCESSLIST

사용하지 않으면FULL, "각 문장의 처음 100자만 필드에 표시됩니다."

phpMyAdmin을 사용할 때는 "전체 텍스트" 옵션("결과 테이블의 왼쪽 상단 모서리에 있는 "← T →")을 클릭하여 구분되지 않은 결과를 확인해야 합니다.

Show Processlist는 다른 테이블에서 정보를 가져옵니다.다음은 데이터를 가져와 전체 쿼리를 포함하는 'INFO' 열을 보는 방법입니다.

select * from INFORMATION_SCHEMA.PROCESSLIST where db = 'somedb';

요건에 따라 임의의 조건을 추가하거나 무시할 수 있습니다.

쿼리 출력은 다음과 같습니다.

+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
| ID    | USER | HOST            | DB     | COMMAND | TIME | STATE     | INFO                                                     |
+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
|     5 | ssss | localhost:41060 | somedb | Sleep   |    3 |           | NULL                                                     |
| 58169 | root | localhost       | somedb | Query   |    0 | executing | select * from sometable where tblColumnName = 'someName' |

SHOW PROCESSLIST에서 전체 쿼리를 참조하십시오.

SHOW FULL PROCESSLIST;

또는

 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

방금 MySQL 문서에서 다음과 같은 내용을 읽었습니다.SHOW FULL PROCESSLIST기본적으로는 현재 사용자 연결의 스레드만 나열됩니다.

MySQL SHOW FULL PROCESSLIST 문서에서 인용:

프로세스 권한이 있는 경우 모든 스레드를 볼 수 있습니다.

이 때문에,Process_priv의 컬럼mysql.user테이블을 실행합니다.FLUSH PRIVILEGES나중에 :)

셸 세션에서 갱신된 프로세스를 수동으로 조작하지 않고(예:2초) 계속 취득하려면 다음 명령을 사용합니다.

watch -n 2 'mysql -h 127.0.0.1 -P 3306 -u some_user -psome_pass some_database -e "show full processlist;"'

단 한 가지 나쁜 점은show [full] processlist출력 결과를 필터링할 수 없습니다.다른 한편에서는,SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST출력에서 보기 싫은 항목을 제거할 수 있는 가능성을 엽니다.

SELECT * from INFORMATION_SCHEMA.PROCESSLIST
WHERE DB = 'somedatabase'
AND COMMAND <> 'Sleep'
AND HOST NOT LIKE '10.164.25.133%' \G
SHOW FULL PROCESSLIST\G

자세한 내용이 포함된 전체 프로세스 목록이 표시됩니다.

언급URL : https://stackoverflow.com/questions/3638689/how-to-see-full-query-from-show-processlist

반응형