MySQL学习笔记(26):日志

MySQL学习笔记(26):日志本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL有4种日志:错误日志、二进制日志(BINLOG)、查询日志、慢查询日志。 错误日志 错误日志记录了

MySQL学习笔记(26):日志

本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。

MySQL有4种日志:错误日志、二进制日志(BINLOG)、查询日志、慢查询日志。

错误日志

错误日志记录了mysqld的启动和停止,以及运行过程中发生的严重错误,其格式为纯文本,默认开启。

SHOW VARIABLES相关变量:

  • log_error:当前的错误日志文件名。

mysqld命令行选项:

  • –log-error[=filename]:错误日志文件名,默认为“主机名.err”,默认保存在datadir指定的目录中。

二进制日志

二进制日志记录了所有的DDL语句和DML语句,其格式为二进制,默认不开启。

二进制日志的格式分3种:基于语句(STATEMENT)的日志格式SBL、基于行(ROW)的日志格式RBL、混合(MIXED)格式。

SHOW VARIABLES相关变量:

  • binlog_format:二进制日志格式。
  • expire_logs_days:二进制日志过期天数。
  • log_bin:是否开启二进制日志。
  • log_bin_basename:二进制日志基于的文件名(实际的文件名会追加形如.000001的编号)。
  • log_bin_index:二进制索引文件名。
  • sql_log_bin:是否写入二进制日志。具有SUPER权限可禁止将自己的语句写入二进制日志。
  • sync_binlog:0表示由文件系统控制二进制日志缓存的刷新,大于0表示每若干条二进制日志刷新文件系统缓存。

mysqld命令行选项:

  • –binlog-do-db=dbname:没显式指定的数据库不记录二进制日志。可指定多次。
  • –binlog-ignore-db=dbname:没显式忽略的数据库都记录二进制日志。可指定多次。
  • –binlog-format=format:设置二进制日志格式,可为STATEMENT、ROW、MIXED。
  • –innodb-safe-binlog:经常和–sync-binlog一起使用,令事务在日志中的记录更安全。
  • –expire-logs-days=n:设置二进制日志的过期天数。
  • –log-bin[=filename]:启用二进制日志并指定日志文件名,默认为“主机名-bin”,默认保存在datadir指定的目录中。

my.cnf配置[mysqld]:

  • expire_logs_days=n:设置二进制日志过期天数。
  • log-bin[=basename]:打开二进制日志并指定日志文件名,默认为“主机名-bin”,默认保存在datadir指定的目录中。需同时配置server-id,否则服务器会无法启动。
  • server-id=id

删除日志有如下几种方法:

  • 执行RESET MASTER,删除所有日志,新的日志编号从000001开始。
  • 执行PURGE MASTER LOGS TO "hostname-bin.xxxxxx",将编号xxxxxx之前(不含)的日志删除。
  • 执行PURGE MASTER LOGS BEFORE "yyyy-mm-dd HH:MM:ss",将指定时间之前的日志删除。

可使用FLUSH LOGS刷新日志文件。

查询日志

查询日志记录了所有语句,其格式为纯文本,默认不开启。

SHOW VARIABLES相关变量:

  • sql_log_off:是否写入查询日志。

mysqld命令行选项:

  • –general-log[=0|1]:是否启用查询日志。
  • –general-log-file=filename:指定查询日志文件名,默认为“主机名.log”,默认保存在datadir指定的目录中。
  • –log-output[={NONE|TABLE|FILE}[,…]]:设置查询日志和慢查询日志的保存方式。NONE为不保存,其优先级最高;TABLE为保存至表中,查询日志保存至mysql.general_log表,慢查询日志保存至msql.slow_logy表;FILE为保存至文件中,为默认值。

慢查询日志

慢查询日志记录所有执行时间(获得锁的时间不算执行时间)超过long_query_time(秒)并且扫描记录数不少于min_examined_row_limit的语句,其格式为纯文本,默认不开启。

默认情况下,有两种语句不会记录到慢查询日志:管理语句和不使用索引进行查询的语句。管理语句包括ALTER TABLEANALYZE TABLECHECK TABLEOPTIMIZE TABLEREPAIR TABLECREATE INDEXDROP INDEX

SHOW VARIABLES相关变量:

  • slow_query_log:是否启用慢查询日志。
  • slow_query_log_file:慢查询日志文件名。

mysqld命令行选项:

  • –log-output[={NONE|TABLE|FILE}[,…]]:见查询日志相关选项说明。
  • –log-queries-not-using-indexes:监控不使用索引进行查询的语句。
  • –log-slow-admin-statements:监控管理语句。
  • –slow-query-log[=0|1]:是否启用慢查询日志。
  • –slow-query-log-file=filename:指定慢查询日志文件名,默认为“主机名-slow.log”,默认保存在datadir指定的目录中。

my.cnf配置[mysqld]:

  • slow_query_log:是否启用慢查询日志。

其他日志分析工具

还可以安装使用mysqlsla、myprofi、mysql-explain-slow-log、mysqllogfilter等工具。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7025.html

(0)
上一篇 2023-03-28
下一篇 2023-03-28

相关推荐

  • ambari部署hadoop集群_impala apache

    ambari部署hadoop集群_impala apache1、环境说明 | 操作系统 | CentOS Linux release 7.4.1708 (Core) | | | : : | | Ambari | 2.6.x | | HDP | 2.6.3.0

    2023-01-30
    141
  • Python实现网络爬虫,轻松获取数据

    Python实现网络爬虫,轻松获取数据网络爬虫是指以自动化的方式浏览互联网,自动获取所需数据的程序。Python是一种高级编程语言,具有易学易用、功能强大的特点,因此成为了许多人使用网络爬虫进行数据获取的首选语言。下面将从以下几个方面对Python实现网络爬虫进行详细阐述。

    2024-02-27
    89
  • 数据库未来发展趋势(上)

    数据库未来发展趋势(上)数据库是IT技术栈中承上启下的关键一层,具有如下特性: 向上承托应用开发与运行,是应用生态关键组成之一。 向下对接硬件和OS,对数据处理应用屏蔽底层硬件复杂性和兼容性。 数据库系统是IT技术栈中的独…

    2023-04-13
    149
  • Mysql配置my.cnf 参数说明[亲测有效]

    Mysql配置my.cnf 参数说明[亲测有效][client] MySQL客户端应用模块,只有MySQL附带的客户端应用程序保证可以读取此模块下的内容。 [mysqld] MySQL服务端应用模块 [client] port = 3306 so…

    2023-02-23
    154
  • 使用Python字符串扩充标题

    使用Python字符串扩充标题在许多编程应用中,标题是必不可少的一个组成部分,无论是在GUI程序的窗口标题栏中,还是在文档或网站的主题中,其作用都是十分重要的。然而,在有些情况下,我们需要增加标题的变化和特效来提高页面的吸引力和用户友好性。比如,当我们希望将标题的字体变得更大或更小,或者需要在标题的两边添加特殊字符,这时使用Python字符串来扩充标题就变得尤为重要。

    2024-09-16
    22
  • DbgridEh数据导出到Excel的方法(Delphi)

    DbgridEh数据导出到Excel的方法(Delphi)本文内容严重参考了网上其他牛人的代码,并做了一些修改,使得参数更加简单,结构更清晰,所以就厚着脸皮说是原创。 uses DBGridEhImpExp; procedure TFrm_func.DbG…

    2023-04-01
    145
  • 利用Python的random模块生成随机数

    利用Python的random模块生成随机数Python自带的random模块为生成伪随机数提供了支持。random模块的重要函数有:randint、random、uniform、choice、shuffle等,可以生成整数、浮点数、列表等不同类型的随机数。

    2023-12-16
    113
  • MongoDB—mongodb启动问题

    MongoDB—mongodb启动问题https://blog.csdn.net/vivianXuejun/article/details/78809655 https://www.bt.cn/bbs/forum.php?mod=view

    2022-12-19
    160

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注