MYSQL 5.7.9 开启慢查询日志

Posted 客家族_祖仙教_小凡仙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL 5.7.9 开启慢查询日志相关的知识,希望对你有一定的参考价值。

mysql 5.7.9 作为ZABBIX 2.4.7 的监控数据库. 前段时间开启了慢查询日志, 后来发现慢查询日志膨胀到了700M 

查看最后100条 大部分都是 0.1 秒的 后来想改, 以前是动态设置的   set global slow_query_log=1; 方式的 .


然后想直接用配置文件/etc/my.cnf  配慢查询

      7 [mysqld]
      8 
      9 # Remove leading # and set to the amount of RAM for the most important data
     10 # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
     11  innodb_buffer_pool_size = 128M
     12 
     13 # Remove leading # to turn on a very important data integrity option: logging
     14 # changes to the binary log between backups.
     15 # log_bin
     16 
     17 # These are commonly set, remove the # and set as required.
     18  basedir = /LANMP/mysql
     19  datadir = /MYSQLDATA/data
     20  port = 3306
     21 # server_id = .....
     22  socket = /tmp/mysql.sock
     23 
     24 # Remove leading # to set options mainly useful for reporting servers.
     25 # The server defaults are faster for transactions and fast SELECTs.
     26 # Adjust sizes as needed, experiment to find the optimal values.
     27  join_buffer_size = 128M
     28  sort_buffer_size = 2M
     29  read_rnd_buffer_size = 2M
     30 
     31 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
     32 
     33 character_set_server=utf8
     34 init_connect=‘SET NAMES utf8‘
     35 slow_query_log = 1
     36 slow_query_log_file = /MYSQLDATA/mysql_slow_query.log
     37 long_query_time = 5
     38 log_queries_not_using_indexes = ON

反复启动了好多次 service mysqld restart 

mysql> show variables like ‘%query%‘;
+------------------------------+---------------------------------+
| Variable_name                | Value                           |
+------------------------------+---------------------------------+
| binlog_rows_query_log_events | OFF                             |
| ft_query_expansion_limit     | 20                              |
| have_query_cache             | YES                             |
| long_query_time              | 5.000000                        |
| query_alloc_block_size       | 8192                            |
| query_cache_limit            | 1048576                         |
| query_cache_min_res_unit     | 4096                            |
| query_cache_size             | 1048576                         |
| query_cache_type             | OFF                             |
| query_cache_wlock_invalidate | OFF                             |
| query_prealloc_size          | 8192                            |
| slow_query_log               | ON                              |
| slow_query_log_file          | /MYSQLDATA/mysql_slow_query.log |
+------------------------------+---------------------------------+
13 rows in set (0.00 sec)


老是OFF 状态 而其他的 LONG_QUERY_TIME 得到了改变 5秒

用动态方式设置 报错

mysql> set global slow_query_log=1;
ERROR 29 (HY000): File ‘/MYSQLDATA/mysql_slow_query.log‘ not found (Errcode: 13 - Permission denied)


对我已经把它给删了, 为傻不自己创建个?

只好自己touch 一个

还是报错 ?

ps -ef |grep  mysqld   发现 还有个mysql用户启动了mysql 

看来 是用mysql用户读取慢查询日志的  用户权限问题啦

以上是关于MYSQL 5.7.9 开启慢查询日志的主要内容,如果未能解决你的问题,请参考以下文章

如何开启MySQL慢查询日志

如何开启MySQL慢查询日志

mysql怎么开启慢查询日志开启

如何开启MySQL慢查询日志

如何动态开启mysql的慢查询日志记录

如何开启MySQL慢查询日志