后端开发必备的 MySQL 日志文件知识点


后端开发必备的 MySQL 日志文件知识点

文章插图
程序员小乐(ID:study_tech)第 910 次推文 图源:百度
【后端开发必备的 MySQL 日志文件知识点】往日回顾:JVM 史上最最最完整深入解析
 
正文
前言日志文件记录了影响MySQL数据库的各种类型活动 , MySQL数据库中常见的日志文件有错误日志 , 二进制日志 , 慢查询日志和查询日志 。下面分别对他们进行介绍 。
错误日志错误日志文件对MySQL的启动 , 运行 , 关闭过程进行了记录 。
mysql> show variables like 'log_error';+---------------+---------------------+| Variable_name | Value               |+---------------+---------------------+| log_error     | /var/log/mysqld.log |+---------------+---------------------+1 row in set (0.03 sec)可以看到错误日志的路径和文件名 , 默认情况下错误文件的文件名为服务器的主机名 , 即:hostname.err 。只不过我这里设置的是/var/log/mysqld.log,修改错误日志地址可以在/etc/my.cnf中添加
# Recommended in standard MySQL setupsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid当出现MySQL数据库不能正常启动时 , 第一个必须查找的文件就是错误日志文件 , 该文件记录了出错信息 , 能够帮助我们找到问题 。
慢查询日志慢查询日志用来记录响应时间超过阈值的SQL语句 , 所以我们可以设置一个阈值 , 将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中 。该阈值可以通过参数 long_query_time 来设置 , 默认为10秒 。
启动慢查询日志默认情况下 , MySQL数据库并不启动慢查询日志 , 需要手动将这个参数设为ON , 然后启动
mysql> show variables like "%slow%";+---------------------------+-------------------------------------------------+| Variable_name             | Value                                           |+---------------------------+-------------------------------------------------+| log_slow_admin_statements | OFF                                             || log_slow_slave_statements | OFF                                             || slow_launch_time          | 2                                               || slow_query_log            | OFF                                             || slow_query_log_file       | /var/lib/mysql/iz2zeaf3cg1099kiidi06mz-slow.log |+---------------------------+-------------------------------------------------+5 rows in set (0.00 sec)mysql> set global slow_query_log='ON';Query OK, 0 rows affected (0.00 sec)mysql> show variables like "slow_query_log";+---------------------------+-------------------------------------------------+| Variable_name             | Value                                           |+---------------------------+-------------------------------------------------+                                        || slow_query_log            | ON                                              || slow_query_log_file       | /var/lib/mysql/iz2zeaf3cg1099kiidi06mz-slow.log |+---------------------------+-------------------------------------------------+2   rows in set (0.00 sec)


推荐阅读