늘 mariadb slowquery 설정을 하다가 변경된거 같아서 기록을 남기게 되었습니다.
예전에는 ON, OFF로 컨피그에 넣었던거 같은데
찾아보니 enable_slow_query_log 를 추가 하는 방식도 있더라구요, 근데 예전처럼 아래와 같이 추가 하여도 잘 되긴 합니다.
slow_query_log = 1
enable_slow_query_log
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 3
log_slow_verbosity = query_plan,explain
log-queries-not-using-indexes
systemctl restart mariadb
이제 마리아DB 재시작을 해주고 설정이 잘 되었는지 확인해 봅시다.
1. slowquery 상태 확인
- 아래와 같이 ON 상태로 변경 된 것을 확인 했습니다. 그리고 로그 파일이 생성 되었는지도 확인 해 봐야겠지요?
- 아래와 같이 잘 생성 된것 역시 확인 되었습니다
MariaDB [(none)]> show variables like 'slow_query_%';
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/mariadb-slow.log |
+---------------------+---------------------------------+
root@test-db:/etc/mysql/mariadb.conf.d# ls -al /var/log/mysql/mariadb-slow.log
-rw-rw---- 1 mysql adm 404 Dec 6 19:26 /var/log/mysql/mariadb-slow.log
2. 그리고 slowquey time도 10에서 3으로 변경했으니 확인해 보겠습니다.
MariaDB [(none)]> show global variables like 'long_query_time%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 3.000000 |
+-----------------+----------+
1 row in set (0.001 sec)
이렇게 하면 변경은 완료 된 것이니 다들 혹시 변경하신다면 위와 같이 하시면 되고
다른 방법은 set global로 변경이 가능 합니다. 프로세스 재실행이 불가한 경우 어떻게 하는지도 한번 알아 보도록 하겠습니다.
이번에는 반대로 변경하도록 하겠습니다.
slow_query_log 는 OFF로 변경하고 long_query_time은 10으로 변경 하겠습니다.
우선 아래와 같이 OFF 상태로 변경 된 것을 확인 하실 수 있습니다.
MariaDB [(none)]> set global slow_query_log = 'OFF';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> exit
Bye
root@gtest-db:/etc/mysql/mariadb.conf.d# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 37
Server version: 10.6.11-MariaDB-1:10.6.11+maria~ubu2004-log mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show variables like 'slow_query_%';
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /var/log/mysql/mariadb-slow.log |
+---------------------+---------------------------------+
2 rows in set (0.001 sec)
이제 쿼리 타임을 10으로 바꾸겠습니다.
MariaDB [(none)]> set global long_query_time = 10;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> show global variables like 'long_query_time%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.001 sec)
모두 잘 바뀐 것을 확인 할 수 있겠죠 하지만 서비스 재 실행 순간 모든 것은 컨피그 설정 방향대로 바뀔 것입니다
'서버인프라 > 데이터베이스' 카테고리의 다른 글
Mariadb Create DataBase (120) | 2023.10.10 |
---|---|
MariaDB, MySQL 사용자 관리 (0) | 2023.01.03 |
Mysql 과 Mariadb dump 복구 성능 테스트 (0) | 2022.11.27 |
Index는 얼마나 Query성능을 향상 시킬까??? (2) | 2022.11.25 |
한 가지 트릭으로 MariaDB를 30배 더 빠르게 만들 수 있습니다! (0) | 2022.10.31 |
댓글