• MySQL5.7 四种日志文件


    mysql 日志包括:错误日志,二进制日志,通用查询日志,慢日志等
    一:通用查询日志:
    记录建立的客户端连接和执行的语句
    1)show variables like '%verision%'; 显示数据库版本号,存储引擎等信息
    mysql> show variables like '%version%';
    +-------------------------+------------------------------+
    | Variable_name | Value |
    +-------------------------+------------------------------+
    | innodb_version | 5.7.18 |
    | protocol_version | 10 |
    | slave_type_conversions | |
    | tls_version | TLSv1,TLSv1.1 |
    | version | 5.7.18-log |
    | version_comment | MySQL Community Server (GPL) |
    | version_compile_machine | x86_64 |
    | version_compile_os | Win64 |
    +-------------------------+------------------------------+
    8 rows in set, 1 warning (0.04 sec)
     
    2)查看当前的通用日志是否开启
    show variables like '%general%';
    mysql> show variables like '%general%';
    +------------------+--------------------+
    | Variable_name | Value |
    +------------------+--------------------+
    | general_log | OFF |
    | general_log_file | PC201608171713.log |
    +------------------+--------------------+
    2 rows in set, 1 warning (0.00 sec)
    开启通用日志查询: set global general_log = on;
    关闭通用日志查询:set global general_log = off;
     
    3)查看当前慢文件的格式
    show variables like '%log_output%';
    mysql> show variables like 'log_output';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_output | FILE |
    +---------------+-------+
    1 row in set, 1 warning (0.00 sec)
    当前慢文件格式为file ,存储在数据库的数据文件中的hostname.log
    可以是table格式,存储在数据库的数据文件中的mysql.general_log
    设置通用日志输出为表方式:
    set global log_output = 'file';
    设置通用日志输出为表和文件方式:
    set global log_output = 'file,table';
     
    二:慢查询日志:
    记录所有执行时间超过long_query_time秒的所有查询或者不适用索引的查询
    默认情况下,MySQL不开启慢查询日志,long_query_time的默认值为10,即运行时间超过10s的语句是慢查询语句。
    一般来说,慢查询发生在大表中,且查询的字段没有建立索引,此时,要匹配查询的字段会对全表进行扫描,耗时查long_query_time表
    查看当前慢查询日志的开启情况:
    show variables like '%query%';
    mysql> show variables like '%quer%';
    +----------------------------------------+-------------------------+
    | Variable_name | Value |
    +----------------------------------------+-------------------------+
    | binlog_rows_query_log_events | OFF |
    | ft_query_expansion_limit | 20 |
    | have_query_cache | YES |
    | log_queries_not_using_indexes | OFF |
    | log_throttle_queries_not_using_indexes | 0 |
    | long_query_time | 10.000000 |
    | query_alloc_block_size | 8192 |
    | query_cache_limit | 1048576 |
    | query_cache_min_res_unit | 4096 |
    | query_cache_size | 0 |
    | query_cache_type | OFF |
    | query_cache_wlock_invalidate | OFF |
    | query_prealloc_size | 8192 |
    | slow_query_log | ON |
    | slow_query_log_file | PC201608171713-slow.log |
    +----------------------------------------+-------------------------+
    15 rows in set, 1 warning (0.00 sec)
     
    其中:
    1)slow_query_log 的值为ON 为开启慢查询日志,off表示关闭慢查询日志
    2) slow_query_log_file 的值是记录的慢查询日志到文件中(默认为主机 名.log)
    3)long_query_time 指定了慢查询的阈值,即执行语句的时间若超过这个值则为慢查询语句
    4)log_queries_not_using_indexes 如果该值是ON,则会记录所有没有利用索引来进行查询的语句,前提是slow_query_log 的值也是ON,否则,不会奏效
    查询当前慢查询的语句个数:
    show global status like '%slow%';
    可以通过查询语句查看慢查询的语句:
    select * from mysql.slow_log;
    三:错误日志
    MySQL错误日志世纪路MySQL运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息。错误日志的命名通常为服务器主机名.err
    查看错误日志的详细信息:
    show variables like '%log_err%';
    mysql> show variables like '%log_error%';
    +---------------------+----------------------+
    | Variable_name | Value |
    +---------------------+----------------------+
    | binlog_error_action | ABORT_SERVER |
    | log_error | .PC201608171713.err |
    | log_error_verbosity | 3 |
    +---------------------+----------------------+
    3 rows in set, 1 warning (0.00 sec)
    错误日志归档,备份错误日志
    shell>mv host_name.err host_name.err-old
    shell> mysqladmin -u root -p flush-logs
    ahell>mv host_name.err-old back-directory
     
    四:二进制日志
    包含了所有更新了的数据或者潜在更新了的数据,
    包含关于每个更新数据库的语句的执行时间信息
    目的:
    尽可能将数据库恢复到是巨酷故障点,因为二进制日志包含备份后进行的所有更新,用于在主复制服务器上记录所有将发生送给从服务器的语句
    删除所有二进制文件:
    reset master
    删除部分二进制文件:
    purge master logs
    查看是否启用二进制日志:
    show variables like '%log_bin%';
    查看所有的二进制参数
    show variables like '%binlog%';
    查看文件的位置
    show variables like '%datadir%';
  • 相关阅读:
    达梦常用命令
    sqlserver命令
    db2常用命令
    docker常用命令
    linux常用命令
    vim常用命令
    cpu、内存、io、内存、负载
    3.系统状态监控
    10 innodb之关键特性刷新邻接页
    9 innodb关键特性之自适应哈希索引03
  • 原文地址:https://www.cnblogs.com/jianmingyuan/p/11003423.html
Copyright © 2020-2023  润新知