iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中几种常见的日志
  • 899
分享到

MySQL中几种常见的日志

摘要

前言: 在 Mysql 系统中,有着诸多不同类型的日志。各种日志都有着自己的用途,通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据。这些不同类型的日志有助于我们更清晰的了解数据库,在日常学习及运维过程中也会和这些日志打交道。


	MySQL中几种常见的日志
[数据库教程]

前言:

Mysql 系统中,有着诸多不同类型的日志。各种日志都有着自己的用途,通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据。这些不同类型的日志有助于我们更清晰的了解数据库,在日常学习运维过程中也会和这些日志打交道。本节内容将带你了解 mysql 数据库中几种常用日志的作用及管理方法。

1.错误日志(errorlog)

错误日志记录着 mysqld 启动和停止,以及服务器在运行过程中发生的错误及警告相关信息。当数据库意外宕机或发生其他错误时,我们应该去排查错误日志。

log_error 参数控制错误日志是否写入文件及文件名称,默认情况下,错误日志被写入终端标准输出stderr。当然,推荐指定 log_error 参数,自定义错误日志文件位置及名称。

# 指定错误日志位置及名称
vim /etc/my.cnf 
[mysqld] 
log_error = /data/mysql/logs/error.log

相关配置变量说明:
log_error={1 | 0 | /PATH/TO/ERROR_LOG_FILENAME}
定义错误日志文件。作用范围为全局或会话级别,属非动态变量。

2.慢查询日志(slow query log)

慢查询日志是用来记录执行时间超过 long_query_time 这个变量定义的时长的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。

与慢查询相关的几个参数如下:

  • slow_query_log:是否启用慢查询日志,默认为0,可设置为0,1。
  • slow_query_log_file:指定慢查询日志位置及名称,默认值为host_name-slow.log,可指定绝对路径。
  • long_query_time:慢查询执行时间阈值,超过此时间会记录,默认为10,单位为s。
  • log_output:慢查询日志输出目标,默认为file,即输出到文件。

默认情况下,慢查询日志是不开启的,一般情况下建议开启,方便进行慢SQL优化。在配置文件中可以增加以下参数:

# 慢查询日志相关配置,可根据实际情况修改
vim /etc/my.cnf 
[mysqld] 
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log
long_query_time = 3
log_output = FILE

3.一般查询日志(general log)

一般查询日志又称通用查询日志,是 MySQL 中记录最详细的日志,该日志会记录 mysqld 所有相关操作,当 clients 连接或断开连接时,服务器将信息写入此日志,并记录从 clients 收到的每个 SQL 语句。当你怀疑 client 中的错误并想要确切知道 client 发送给mysqld的内容时,通用查询日志非常有用。

默认情况下,general log 是关闭的,开启通用查询日志会增加很多磁盘 I/O, 所以如非出于调试排错目的,不建议开启通用查询日志。相关参数配置介绍如下:

# general log相关配置
vim /etc/my.cnf 
[mysqld]
general_log = 0 //默认值是0,即不开启,可设置为1
general_log_file = /data/mysql/logs/general.log //指定日志位置及名称

4.二进制日志(binlog)

关于二进制日志,前面有篇文章做过介绍。它记录了数据库所有执行的DDL和DML语句(除了数据查询语句select、show等),以事件形式记录并保存在二进制文件中。常用于数据恢复和主从复制。

与 binlog 相关的几个参数如下:

  • log_bin:指定binlog是否开启及文件名称。
  • server_id:指定服务器唯一ID,开启binlog 必须设置此参数。
  • binlog_format:指定binlog模式,建议设置为ROW。
  • max_binlog_size:控制单个二进制日志大小,当前日志文件大小超过此变量时,执行切换动作。
  • expire_logs_days:控制二进制日志文件保留天数,默认值为0,表示不自动删除,可设置为0~99。

binlog默认情况下是不开启的,不过一般情况下,建议开启,特别是要做主从同步时。

# binlog 相关配置
vim /etc/my.cnf 
[mysqld]
server-id = 1003306
log-bin = /data/mysql/logs/binlog
binlog_fORMat = row
expire_logs_days = 15

5.中继日志(relay log)

中继日志用于主从复制架构中的从服务器上,从服务器的 slave 进程从主服务器处获取二进制日志的内容并写入中继日志,然后由 io 进程读取并执行中继日志中的语句。

relay log 相关参数一般在从库设置,几个相关参数介绍如下:

  • relay_log:定义 relay log 的位置和名称。
  • relay_log_purge:是否自动清空不再需要中继日志,默认值为1(启用)。
  • relay_log_recovery:当 slave 从库宕机后,假如 relay log 损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的 relay log ,并且重新从 master 上获取日志,这样就保证了 relay log 的完整性。默认情况下该功能是关闭的,将 relay_log_recovery 的值设置为1可开启此功能。

relay log 默认位置在数据文件的目录,文件名为 host_name-relay-bin,可以自定义文件位置及名称。

# relay log 相关配置,从库端设置
vim /etc/my.cnf 
[mysqld]
relay_log = /data/mysql/logs/relay-bin
relay_log_purge = 1
relay_log_recovery = 1

总结:

本篇文章主要讲述了 MySQL 中的几类日志的用途及设置方法,需要注意的是,上述几类日志,若不指定绝对路径,则默认保存在数据目录下,我们也可以新建一个日志目录专用于保存这些日志。还有 redo logundo log 没有讲解,留在下篇文章吧。

技术图片

MySQL中几种常见的日志

原文地址:https://blog.51cto.com/10814168/2522453

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中几种常见的日志

本文链接: https://www.lsjlt.com/news/7879.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MySQL有几种日志
    这篇文章将为大家详细讲解有关MySQL有几种日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL主要的日志文件有以下几种。错误日志 ...
    99+
    2024-04-02
  • mysql中常见的几种约束是什么
    小编给大家分享一下mysql中常见的几种约束是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql中常见的几种约束有:1、主键;2、默认值;3、唯一;4、外键;5、非空。约束是一种限制...
    99+
    2024-04-02
  • MySQL中常见的日志问题有哪些
    小编给大家分享一下MySQL中常见的日志问题有哪些,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!MySQL 里有两个日志,即:重做日志(redo log)和归档日志(binlog)。其中,bi...
    99+
    2024-04-02
  • oracle有几种日志
    oracle有4种日志,分别是:1、重做日志,用于记录数据库中所有的变更操作,包括插入、更新和删除等;2、归档日志,用于保留数据库中的历史变更记录;3、控制文件日志,记录了数据库的结构和状态信息,用于控制文件日志记录了对控制文件的变更操作;...
    99+
    2023-07-10
  • Mysql binlog日志有哪几种格式
    这篇文章主要讲解了“Mysql binlog日志有哪几种格式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql binlog日志有哪几种格式”吧!My...
    99+
    2024-04-02
  • JavaScript中常见的几种继承方式
    目录原型继承内存图分析盗用构造函数继承分析组合继承原型链继承寄生式继承寄生组合式继承原型继承 function Parent(name) { this.name = name }...
    99+
    2024-04-02
  • java中常见的几种单例模式
    这篇文章主要为大家展示了“java中常见的几种单例模式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java中常见的几种单例模式”这篇文章吧。  单例模式:是一种常用的软件设计模式,在它的核心结...
    99+
    2023-06-19
  • PHP中几种常见的开发模式
    本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了几种常见的开发模式,下面一起来看一下,希望对大家有帮助。设计模式六大原则开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。里氏替换原则:所有引用基类的地方必须能透明...
    99+
    2023-05-14
    php
  • appium中常见的几种点击方式
    目录1、最常见的点击方式click()方法 2、手指轻敲屏幕操作tap()方法3、手指按下操作press()方法4、模拟手指长按操作long_press()方法首先从app...
    99+
    2024-04-02
  • 浅谈MySQL中的六种日志
    目录(一)概述(二)redo log(三)undo log(四)bin log(五)error log(六)slow query log(七)general log(一)概述 MyS...
    99+
    2024-04-02
  • 分享MySQL常用 内核 Debug 几种常见方法
    目录一、准备Debug环境二、使用GDB调试启动GDB编译器GDB常用命令Debug示例1、取变量值2、调试脚本三、使用Trace文件调试设置debug参数Debug示例阅读本文你将...
    99+
    2024-04-02
  • Mysql5.7 的错误日志中最常见的note日志是怎样的
    这篇文章给大家介绍Mysql5.7 的错误日志中最常见的note日志是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。最常见的note日志以下三种第一种,Aborted conne...
    99+
    2024-04-02
  • JAVA常见的运行异常有哪几种
    在Java中,常见的运行时异常有以下几种: NullPointerException(空指针异常):当程序试图访问一个空对象的属性...
    99+
    2024-02-29
    JAVA
  • 几种常见的归一化方法
    数据归一化是深度学习数据预处理中非常关键的步骤,可以起到统一量纲,防止小数据被吞噬的作用。 一:归一化的概念 归一化就是把所有数据都转化成[0,1]或者[-1,1]之间的数,其目的是为了取消各维数据之间的数量级差别,避免因为输入输出数据数量...
    99+
    2023-09-03
    深度学习 python 人工智能
  • MySQL无法启动几种常见问题小结
    昨天在群里看到有新同学还在问MySQL无法启动的问题,于是总结了几个常见情况,权当普及帖了,老鸟自觉飞过。 问题1:目录、文件权限设置不正确 MySQL的$datadir目录,及其下...
    99+
    2022-11-15
    MySQL无法启动
  • Redis中常见的几种集群部署方案
    目录前言几种常用的集群方案主从集群模式全量同步增量同步举个栗子哨兵机制什么是哨兵机制如何保证选主的准确性如何选主选举主节点的规则哨兵进行主节点切换切片集群Redis Cluster方...
    99+
    2024-04-02
  • java中几种常见的排序算法总结
    目录本节目标;【插入排序】【优化版】【希尔排序】【选择排序】【堆排序】 【冒泡排序】介绍一个冒泡排序的优化方法; 【快速排序】【归并排序】【正文】【代码简介;】&...
    99+
    2024-04-02
  • Vue中常见的几种传参方式小结
    目录前言父子组件之间传参兄弟组件之间传参provide/inject传参总结前言 Vue组件传参方也是面试最常考的内容,犹记得当初刚出来实习的时候,遇到一个需求,大概就是一个tabs...
    99+
    2023-05-19
    vue传参方式有哪些 vue传参方法 vue传参
  • java中实现分页的常见几种方式
    文章目录 1. 前言2. 先说结论3. 例子1. 数据库SQL的限制条件(limit、fetch)2. 使用List集合的截取功能实现3. 插件PageHelper 1. 前言 无论是...
    99+
    2023-08-31
    mybatis java 分页 数据库 PageHelper
  • MySQL 中常见的几种高可用架构部署方案解析
    目录mysql 中的集群部署方案前言MySQL ReplicationMySQL Group ReplicationInnoDB ClusterInnoDB ClusterSetInnoDB ReplicaSetMMMM...
    99+
    2023-04-21
    mysql高可用 mysql高可用架构部署 MySQL常用部署
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作