我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL学习笔记(26):日志

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL学习笔记(26):日志

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等工具。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL学习笔记(26):日志

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL学习笔记(26):日志

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

Python学习笔记(1~26页)(《H

大脑会尽力记住确实重要的事情,它不会费心地去记乏味的东西。    与单纯的文字相比,图片更能让人记得住,通过图片,学习效率会更高(图片中夹杂解说文字)。    如果你发现刚看得东西,立刻就忘记,那你该歇歇了。    睡觉前不要看别的书,至少
2023-01-31

mysql学习笔记第二节 日志系统 redolog与binlog

第二节 日志系统一条update语句的更新过程首先让与这个表有关的所有缓存全都失效其余与查询流程基本相似,但是还涉及到两个重要的日志模块-redo log和binlogredo log(重做日志)介绍由于读写磁盘是一件非常费时间的事情,因此当记录需要更新的时候
mysql学习笔记第二节 日志系统 redolog与binlog
2018-06-07

PHP学习笔记:日志记录与错误报告

简介:在开发和维护一个PHP程序时,日志记录和错误报告的功能是至关重要的。通过记录日志,我们可以追踪和调试程序中的问题,并提供一个清晰的错误报告给我们的用户或其他开发人员。本篇文章将介绍如何在PHP程序中实现日志记录和错误报告,并提供一些具
2023-10-21

MySQL学习笔记

作者: Grey原文地址:MySQL学习笔记说明注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。关于DDLDDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了数据库的结构和数据表的结构。在 D
MySQL学习笔记
2015-01-17

MySQL 学习笔记 (一)

1.InnoDB and Online DDLALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;https://dev.mysql.com/doc/refma
2016-12-04

MySQL 学习笔记(五)

mysqldump 与 --set-gtid-purged 设置(1)  mysqldumpThe mysqldump client utility performs logical backups, producing a set of SQL statem
MySQL 学习笔记(五)
2022-01-27

MySQL学习笔记-day01

1、数据库概述及数据准备1.1、SQL概述SQL,全称Structured Query Language,SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。(90%以上的SQL都是通用的)。SQL:结构化语言,是一门标准通用的语言。SQL属于高级
MySQL学习笔记-day01
2017-10-15

MySQL学习笔记-day03

1、约束1.1、唯一性约束(unique)唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。案例:给某一列添加uniquedrop table if exists t_user;create table t_user( id int, u
MySQL学习笔记-day03
2020-11-18

MySQL学习笔记(17):MySQL Utilities

本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。目录安装分类mysqldbcompare——数据库比较工具mysqldbcopy——数据库复制工具mysqldiff——数据库对象定义比较工具mysqldiskusage
MySQL学习笔记(17):MySQL Utilities
2015-05-06

MySQL学习笔记(3):SQL

本文章更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.9。目录DDL语句创建数据库删除数据库修改数据库创建表删除表修改表创建索引删除索引创建视图修改视图删除视图存储过程和函数创建事件修改事件删除事件创建触发器删除触发器DML语
MySQL学习笔记(3):SQL
2022-04-25

学习笔记:MYSQL查询

前言:之前花费两天晚上看了一遍Mysql必知必会,没想到后面效果太差。不如跟着网课视频敲一遍和完成练习题目(练习题没写注释就不记录了),再记下笔记。一、基本的查询select语句语法: select 查询列表 from 表名;查询列表可以是表中的字段、常量值、
学习笔记:MYSQL查询
2015-12-27

编程热搜

目录