MariaDB 开启「慢查询」 Log,找出到底慢在哪个 Query 语句上 (Slow query log、High

网路上写的设定档是 /etc/mysql/my.cnf
但我实际去找是在 mariadb.conf.d 底下的 50-server.cnf 才是(可能是 Mysql 跟 MariaDB 的差别?)

$ cd /etc/mysql/mariadb.conf.d

使用 nano 开启

$ nano 50-server.cnf

进入后会看到 [mysqld] ,直接在下面加上 slow_query 变成:

[mysqld]# 开启慢日誌功能slow_query_log = 1# 查询时间超过 2 秒则定义为慢查询(可自行改秒数)long_query_time = 2# 将产生的 slow query log 放到你指定的地方slow_query_log_file = /var/www/slow_query.log

保存后别忘了重启资料库

systemctl restart mariadb.service

验证是否成功开启

先透过 CLI 进入 Mysql (Mariadb)

$ mysql -u root -p

进入后输入指令
以下 MariaDB [(none)]> 简称为 >

> show variables like '%quer%'; 

会出现以下表格

+---------------------------------+-------------------------+| Variable_name                   | Value                   |+---------------------------------+-------------------------+| expensive_subquery_limit        | 100                     || ft_query_expansion_limit        | 20                      || have_query_cache                | YES                     || log_queries_not_using_indexes   | OFF                     || long_query_time                 | 2.000000                || query_alloc_block_size          | 16384                   || query_cache_limit               | 1048576                 || query_cache_min_res_unit        | 4096                    || query_cache_size                | 16777216                || query_cache_strip_comments      | OFF                     || query_cache_type                | ON                      || query_cache_wlock_invalidate    | OFF                     || query_prealloc_size             | 24576                   || slow_query_log                  | ON                      || slow_query_log_file             | /var/www/slow_query.log || wsrep_reject_queries            | NONE                    || wsrep_sst_donor_rejects_queries | OFF                     |+---------------------------------+-------------------------+

确认一下 Value 有无符合

slow_query_log 为 ONlong_query_time 为刚刚设定的 2 秒slow_query_log_file 为你刚刚指定的路径 /var/www/slow_query.log

符合表示已经设定成功,即可退出 MariaDB

> exit;

参考资料
https://ianakaberlin.medium.com/mysql-mariadb-mariadb-%E9%96%8B%E5%95%9F-%E6%85%A2%E6%9F%A5%E8%A9%A2-log-%E6%89%BE%E5%87%BA%E5%88%B0%E5%BA%95%E6%85%A2%E5%9C%A8%E5%93%AA%E5%80%8B-query-%E8%AA%9E%E5%8F%A5%E4%B8%8A-slow-query-log-high-cpu-mysql-mariadb-%E4%BC%8A%E6%81%A9%E8%B8%A9%E5%9D%91%E7%AD%86%E8%A8%98-58f408c2aa4a


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章