> 데이터 베이스 > MySQL 튜토리얼 > MYSQL5.7.9开启慢查询日志_MySQL

MYSQL5.7.9开启慢查询日志_MySQL

WBOY
풀어 주다: 2016-05-27 13:45:14
원래의
1173명이 탐색했습니다.

用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用户读取慢查询日志的 用户权限问题啦

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿