mysql上如何启动慢查日志
发布时间:2023-08-17 14:38:47 所属栏目:MySql教程 来源:
导读:本文主要给大家介绍mysql如何启动慢查日志,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,亿速云累计多年的实践经验可分享给大家。
sql与索引优化
数据库表结构优
sql与索引优化
数据库表结构优
本文主要给大家介绍mysql如何启动慢查日志,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,亿速云累计多年的实践经验可分享给大家。 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=file slow_query_log=on slow_query_log_file = /tmp/mysql-slow.log log_queries_not_using_indexes=on long_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.sock Time Id Command Argument 如果更改日志目录位置 比如,更改为/home/msyql/log/mysql-slow.log 至少需要将log目录所有者设置为mysql:mysql。 这样重启mysql的时候,才能自动生成mysql-slow.log文件。 jiqing@jiqing-pad:/home/mysql/log$ ll 总用量 12 drwxr-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.log jiqing@jiqing-pad:/home/mysql/log$ pwd /home/mysql/log 如果log目录不是mysql用户权限,将无法生成日志文件,mysql用户无权写入数据。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐