[MYSQL] 실행된 SQL 쿼리 확인

반응형

1. 현재 접속중인 유저 및 실행 중인 쿼리 확인

show full processlist;
-- 상세
select * from INFORMATION_SCHEMA.PROCESSLIST;

 

2. 해당 Thread 현황

-- 해당 Thread 현황
select * from information_schema.INNODB_TRX;

 

3. 마지막 해당 Thread에서 실행중(된) 쿼리 조회

-- 마지막에 해당 thread에서 실행중(된) 쿼리 조회
SELECT esc.THREAD_ID, t.processlist_id, esc.SQL_TEXT
  FROM performance_schema.events_statements_current esc
  /**********************************************************************************
  processlist 에서 보여주는 mysql 이 만든 thread와
  performance_schema 에서 만든 thread 값이 달라
  threads 테이블을 참조해야 작업을 확인할 수 있다.
  why? performance_schema.threads 는 background thread의 값도 가지고 있기 때문이다.
  **********************************************************************************/
  JOIN performance_schema.threads t ON t.thread_id = esc.thread_id
 WHERE t.processlist_id = 56604
 ;

 

4. 실행된 쿼리 이력 확인 + 로그파일 

-- 동적으로 파라메터 값 변경
set global general_log = 1;
set GLOBAL general_log='ON';


-- 정적으로 파라메터 값 변경 (재기도 필요)

# mysql
[mysqld]
#쿼리 로그가 출력되도록 설정
general_log=ON
# log_output= FILE | TABLE
# file로 내보내기
log_output=FILE
#로그파일 경로 설정
general_log_file=/var/log/mysql/general/mysql_general.log

 

5. 실행 속도가 느린 쿼리 확인

# 0:끄기,1:켜기
vim /etc/my.cnf slow_query_log=1

#로그파일 경로 설정
slow_query_log_file=/home/mysql/mysqld-slow.log
#5초이상 걸리는 쿼리
long_query_time=5

#MySQL 재기동

 

6. 쿼리 확인 (Tabel로 저장시)

SELECT * FROM mysql.general_log;
SELECT * FROM mysql.slow_log;

 

7. Test query

create table test1.test_tab3(c1 varchar(110),c2 varchar(110),c3 varchar(110),c4 varchar(110),c5 varchar(110));

DROP PROCEDURE IF EXISTS test1.test4;

DELIMITER $$
$$
CREATE PROCEDURE test1.test4()
BEGIN
DECLARE NUM1 INT DEFAULT 1;
WHILE(NUM1 < 10000) do
insert into test1.test_tab3 SELECT SUBSTR(MD5(RAND()),1,100) c1, SUBSTR(MD5(RAND()),1,100) c2, SUBSTR(MD5(RAND()),1,100) c3 ,SUBSTR(MD5(RAND()),1,100) c4 ,SUBSTR(MD5(RAND()),1,100) c5;
set NUM1 = NUM1 + 1;
COMMIT;
end while;

END;
$$
DELIMITER ;

call test1.test4();



반응형

'Database > MYSQL' 카테고리의 다른 글

[MYSQL] 성능 리포트  (0) 2022.11.03
[MYSQL] PLAN 확인 방법 (예측, 실제계획)  (0) 2022.11.01
[MYSQL] Cluster Index  (0) 2022.10.30
[MYSQL] Lock 구조 & Query  (1) 2022.10.27
[MYSQL] PMM 모니터링  (0) 2022.10.21