专栏首页吴伟祥MySQL5.7 四种日志文件 转

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%';

本文转载自:https://blog.csdn.net/Alicia_N/article/details/78107390

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么子查询比连接查询(LEFT JOIN)效率低

    MySQL从4.1版本开始支持子查询,使用子查询进行SELECT语句嵌套查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作。子查询虽然很灵活,但是执行...

    wuweixiang
  • Docker学习——数据管理、使用网络(三)

    这一章介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式:

    wuweixiang
  • 网络配置三种模式对比(桥接模式,主机模式,网络地址转换)

        VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。安装好虚拟机以后,在网络连...

    wuweixiang
  • 听说你还不会看MySQL慢查询日志?

    MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志。

    黄泽杰
  • 开启MYSQL慢查询日志,监控优化SQL效率

    输入命令【show variables like 'slow_query_log'】,页面会显示是否开启了慢查询日志,slow_query_log =ON,代表...

    用户6367961
  • Makednslog:让我们来看一看这款能够伪造DNS日志的工具

    写在前面的话 2016年8月1日,我曾发表过一篇文章【点击文末的阅读原文查看】并介绍了如何使用哈希算法来提升大型DNS日志文件的搜索效率。但是这篇文章中还存在一...

    FB客服
  • Postgresql 监控你说了不算,谁说了算 ? (2 PGBADGER)

    日志,日志,日志,无论你是IT 的那个LEVEL 都知道,没有日志的系统是有硬伤,POSTGRESQL 的日志在数据库界应该属于上层的,一个错误的日志,包含的事...

    AustinDatabases
  • zabbix之日志文件监控

    作者:hu_wen 来源:http://blog.csdn.net/hu_wen/article/details/70142060 日志item介绍 ...

    小小科
  • 关于K8s集群器日志收集的总结

    Rainbond开源
  • SQL SERVER ALWAYS ON 为什么日志无法dump

    SQL SERVER 还有人用,对的,很多人都在用,尤其很多企业,非互联网的企业。那今天就说说 SQL SERVER ALWAYS ON 高可用集群中,为什么不...

    AustinDatabases

扫码关注云+社区

领取腾讯云代金券