资讯专栏INFORMATION COLUMN

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

SegmentFault / 918人阅读

摘要:本教学使用环境介绍伺服器端资料库语言版本本机端网路上写的设定档是但我实际去找是在底下的才是可能是跟的差别使用开启进入后会看到,直接在下面加上变成开启慢日志功能查询时间超过秒则定义为慢查询可自行改秒数将产生的放到你指定的地方保存后别忘了重

本教学使用环境介绍
伺服器端:Ubuntu 18.04 LTS
资料库:Mariadb 10.1.34(Mysql)
语言版本:php 7.3
本机端:MacOS High Sierra

网路上写的设定档是 /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 为 ON
long_query_time 为刚刚设定的 2 秒
slow_query_log_file 为你刚刚指定的路径 /var/www/slow_query.log

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

> exit;

参考资料:https://www.itread01.com/p/11...

Line ID:ianmac
QQ:1258554508

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/49076.html

相关文章

  • MySQL - 查询

    摘要:慢查询首先,无论进行何种优化,开启慢查询都算是前置条件。慢查询机制,将记录过慢的查询语句事件,从而为维护人员提供优化目标。检查慢查询是否开启通过这条语句,可以找到慢查询的状态。 慢查询 首先,无论进行何种优化,开启慢查询都算是前置条件。慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标。 检查慢查询是否开启 通过show variables like slow_q...

    hellowoody 评论0 收藏0
  • mariadb 10.1开启日志查询到数据库

    摘要:开启慢日志查询很简单就三条语句即可开启慢日志查询把查询时间超过秒的定义为慢查询,也可以设置为秒保存日志到数据的表把上述三条语句放到或者的配置文件下面,重启即可。 开启慢日志查询很简单就三条语句即可 slow_query_log = 1 # 开启慢日志查询 long_query_time = 2 # 把查询时间超过2秒的定义为慢查询,也可以设置为1秒 log_output = TAB...

    dockerclub 评论0 收藏0
  • 【mysql的设计与优化专题(5)】查询详解

    摘要:查询执行的时间范围。该查询在本次分析中总的时间占比。查询对象第三部分每一种查询的详细统计结果由上图可见号查询的详细统计结果,最上面的表格列出了执行次数最大最小平均等各项目的统计。 查询mysql的操作信息 show status -- 显示全部mysql操作信息 show status like com_insert%; -- 获得mysql的插入次数; show status l...

    muzhuyu 评论0 收藏0
  • 一文看懂 MySQL 高性能优化技巧实践

    摘要:实际应用中,查询的返回结果会有条记录。修改保存文件后,重启服务。通常优化至少到级别,最好能优化到指出使用哪个索引在该表找到行记录。如果该值为,说明没有使用索引,可以建立索引提高性能显示实际使用的索引。 ...

    simon_chen 评论0 收藏0
  • MySQL日志实践

    摘要:慢日志查询作用慢日志查询的主要功能就是,记录语句中超过设定的时间阈值的查询语句。但是慢日志查询开启之后,针对查询会通过磁盘将相关的记录写入到磁盘文件中,增加了一个磁盘的读写。慢日志查询工具由于慢日志查询文件越到后期,内容越多。 慢日志查询作用 慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句。例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间...

    2i18ns 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<