zoukankan      html  css  js  c++  java
  • MySQL

    在 MySQL 中,有 4 种不同的日志,分别是错误日志、二进制日志、查询日志和慢查询日志。

    错误日志

    错误日志记录了 MySQL 启动和停止时以及服务器在运行过程中发生严重错误时的相关信息。

    查看错误日志文件的路径

    mysql> SHOW VARIABLES LIKE 'log_error%';
    +---------------+---------------+
    | Variable_name | Value         |
    +---------------+---------------+
    | log_error     | .HUEY-PC.err |
    +---------------+---------------+

    修改错误日志文件的路径

    编辑 my.ini,修改 log-error 参数:

    # Error Logging.
    log-error="HUEY-PC.err"

    查看错误日志文件

    错误文件为普通的文本文件,可直接查看。

    二进制日志

    二进制日志记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。

    查看 log_bin 状态

    mysql> SHOW VARIABLES LIKE 'log_bin%';
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin                         | OFF   |
    | log_bin_basename                |       |
    | log_bin_index                   |       |
    | log_bin_trust_function_creators | OFF   |
    | log_bin_use_v1_row_events       | OFF   |
    +---------------------------------+-------+

    启用二进制日志功能

     编辑 my.ini:

    # Binary Logging.
    log-bin="HUEY-PC-bin"

    保存 my.ini 更改,重启 MySQL 服务。

    查看二进制日志

    使用 mysqlbinlog 工具来查看二进制日志的内容:

    D:ProgramDataMySQLMySQL Server 5.6data>mysqlbinlog HUEY-PC-bin.000001

    清除二进制日志

    清除所有日志(不存在主从复制关系):

    mysql> RESET MASTER;

    清除指定日志之前的所有日志:

    mysql> PURGE MASTER LOGS TO 'HUEY-PC-bin.000005';

    清除某一时间点前的所有日志:

    mysql> PURGE MASTER LOGS BEFORE '2015-01-01 00:00:00';

    清除 n 天前的所有日志:

    mysql> PURGE MASTER LOGS BEFORE CURRENT_DATE - INTERVAL 10 DAY;

    expire_logs_days 参数

    在 my.ini 中配置 expire_logs_days 参数指定二进制日志的有效天数,MySQL 会自动删除过期的二进制日志。expire_logs_days 设置在服务器启动或者 MySQL 切换二进制日志时生效,因此,如果二进制日志没有增长和切换,服务器不会清除老条目。

    # 二进制日志的有效天数
    expire_logs_days = 5

    查询日志

    默认情况下查询日志是关闭的。查询日志记录了客户端的所有操作,而二进制日志不记录只查询数据的语句。在并发环境易产生大量日志信息而导致大量磁盘 I/O,影响 MySQL 的性能,通常情况下不建议启用查询日志。

    查看查询日志是否启用及查询日志的路径

    mysql> SHOW VARIABLES LIKE 'general_log%';
    +------------------+-------------+
    | Variable_name    | Value       |
    +------------------+-------------+
    | general_log      | ON          |
    | general_log_file | HUEY-PC.log |
    +------------------+-------------+

    启用查询日志和设置查询日志的路径

    编辑 my.ini,修改 general-log 参数为 1,同时设定 log-output 参数(日志输出类型)和 general_log_file 参数(查询日志路径):

    # General logging.:
    log-output=FILE
    general-log=1
    general_log_file="HUEY-PC.log"

    保存 my.ini 更改,重启 MySQL 服务。

    关闭查询日志

    编辑 my.ini,设置 general-log 参数为 0:

    # General logging.
    log-output=NONE
    general-log=0
    general_log_file="HUEY-PC.log"

    保存 my.ini 更改,重启 MySQL 服务。

    慢查询日志

    慢查询日志记录了所有执行时间超过 long_query_time 秒的 SQL 语句。

    查看慢查询日志是否启用及慢查询日志的路径

    mysql> SHOW VARIABLES LIKE 'slow_query_log%';
    +---------------------+------------------+
    | Variable_name       | Value            |
    +---------------------+------------------+
    | slow_query_log      | OFF              |
    | slow_query_log_file | HUEY-PC-slow.log |
    +---------------------+------------------+

    启用慢查询日志和设置慢查询日志的路径

    编辑 my.ini,设置 slow-query-log 参数为 1,同时设定 log-output 参数(日志输出类型)、slow-query-log_file 参数(慢查询日志路径)和 long_query_time 参数:

    # Slow logging.
    log-output=FILE
    slow-query-log=1
    slow_query_log_file="HUEY-PC-slow.log"
    long_query_time=10

    保存 my.ini 更改,重启 MySQL 服务。

    关闭慢查询日志

    编辑 my.ini,设置 slow-query-log 参数为 0:

    # Slow logging.
    log-output=NONE
    slow-query-log=0
    slow_query_log_file="HUEY-PC-slow.log"
    long_query_time=10
  • 相关阅读:
    Starting a Build
    getting the xml for running tfsreg.exe
    Monitoring and Analyzing Builds
    Getting Started with Silverlight
    Creating a New Build
    culture definition
    从数学到密码学(一)
    git如何建立分支实现新功能合并新功能到主分支
    git的patch解决二进制文件冲突生成某个文件的patch合并一个patch查看某个文件的历史比较两个文件
    blender 用户界面基本构成
  • 原文地址:https://www.cnblogs.com/huey/p/4447821.html
Copyright © 2011-2022 走看看