• 技术文章 >数据库 >mysql教程

    MYSQL5.7.9开启慢查询日志_MySQL

    2016-05-27 13:45:14原创439
    用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用户读取慢查询日志的 用户权限问题啦

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:日志
    上一篇:用MySQL构建一个工作跟踪流程_MySQL 下一篇:corosync+drbd+mysql实现的高可用_MySQL
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• mysql错误1062怎么解决• mysql是用什么语言写的• mysql中怎么修改collation• mysql没有data文件夹怎么办• mysql删除主键的语句是什么
    1/1

    PHP中文网