首页 > 数据库 > MySQL > 正文

MYSQL5.7.9开启慢查询日志的技巧

2024-07-24 12:45:03
字体:
来源:转载
供稿:网友

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

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

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

# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at % of total RAM for dedicated server, else %.innodb_buffer_pool_size = M# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin# These are commonly set, remove the # and set as required.basedir = /LANMP/mysqldatadir = /MYSQLDATA/dataport = # server_id = .....socket = /tmp/mysql.sock# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.join_buffer_size = Msort_buffer_size = Mread_rnd_buffer_size = Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLEScharacter_set_server=utfinit_connect='SET NAMES utf'slow_query_log = slow_query_log_file = /MYSQLDATA/mysql_slow_query.loglong_query_time = 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慢查询日志

查看配置:

//查询慢查询时间show variables like "long_query_time";默认10s //查看慢查询配置情况show status like "%slow_queries%"; //查看慢查询日志路径show variables like "%slow%";

修改配置文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表