侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

mysql开启慢查询日志

2024-05-16 星期四 / 0 评论 / 0 点赞 / 108 阅读 / 4076 字

sql与索引优化数据库表结构优化系统配置硬件mysql> show variables like 'slow_query_log';+----------------+-------+| Variab

sql与索引优化

数据库表结构优化

系统配置

硬件

mysql> show variables like 'slow_query_log';+----------------+-------+| Variable_name  | Value |+----------------+-------+| slow_query_log | OFF   |+----------------+-------+1 row in set (0.00 sec)

慢日志查询没有开启,可以开启一下。

找到my.cnf,添加如下内容sudo vim /usr/local/mysql/my.cnf

添加慢日志查询

log_output=fileslow_query_log=onslow_query_log_file = /tmp/mysql-slow.loglog_queries_not_using_indexes=onlong_query_time = 1

重启mysql。

确定修改是否成功启动慢日志查询

mysql> show variables like 'slow_query_log';+----------------+-------+| Variable_name  | Value |+----------------+-------+| slow_query_log | ON    |+----------------+-------+1 row in set (0.00 sec)
mysql> show variables like '%quer%';+----------------------------------------+------------------------------------+| Variable_name                          | Value                              |+----------------------------------------+------------------------------------+| binlog_rows_query_log_events           | OFF                                || ft_query_expansion_limit               | 20                                 || have_query_cache                       | YES                                || log_queries_not_using_indexes          | ON                                 || log_throttle_queries_not_using_indexes | 0                                  || long_query_time                        | 1.000000                           || query_alloc_block_size                 | 8192                               || query_cache_limit                      | 1048576                            || query_cache_min_res_unit               | 4096                               || query_cache_size                       | 8388608                            || query_cache_type                       | OFF                                || query_cache_wlock_invalidate           | OFF                                || query_prealloc_size                    | 8192                               || slow_query_log                         | ON                                 || slow_query_log_file                    | /tmp/mysql-slow.log |

+----------------------------------------+------------------------------------+

执行如下SQL语句来查看mysql慢查询的状态
show variables like '%slow%';

执行一次慢查询操作  其实想要执行一次有实际意义的慢查询比较困难,因为在自己测试的时候,就算查询有20万条数据的海量表,也只需要0.几秒。我们可以通过如下语句代替: 

SELECT SLEEP(10); 

查看慢查询的数量  通过如下sql语句,来查看一共执行过几次慢查询:

show global status like '%slow%';

这时候再看,已经开启了慢查询日志。

$ sudo cat /tmp/mysql-slow.log /usr/local/mysql/bin/mysqld, Version: 5.6.40-log (Source distribution). started with:Tcp port: 3306  Unix socket: /tmp/mysql.sockTime                 Id Command    Argument

如果更改日志目录位置
比如,更改为/home/msyql/log/mysql-slow.log
至少需要将log目录所有者设置为mysql:mysql。
这样重启mysql的时候,才能自动生成mysql-slow.log文件。

jiqing@jiqing-pad:/home/mysql/log$ ll总用量 12drwxr-xr-x 2 mysql  mysql  4096 5月  31 01:46 ./drwxr-xr-x 3 jiqing jiqing 4096 5月  31 01:26 ../-rw-rw---- 1 mysql  mysql   175 5月  31 01:46 mysql-slow.logjiqing@jiqing-pad:/home/mysql/log$ pwd/home/mysql/log

如果log目录不是mysql用户权限,将无法生成日志文件,mysql用户无权写入数据。

广告 广告

评论区