MySQL运维14-MySQL日志概述

文章目录

  • 1、MySQL日志概述
  • 2、错误日志
    • 2.1、日志内容
    • 2.2、文件位置
    • 2.3、监控分析
  • 3、通用日志
    • 3.1、日志内容
    • 3.2、打开方式和文件位置
  • 4、二进制日志
    • 4.1、日志内容
  • 5、慢查询日志
    • 5.1、打开方式和文件位置
    • 5.2、监控分析
  • 6、日志文件的维护
  • 7、总结

1、MySQL日志概述

  1. MySQL有四种日志文件:错误日志、通用日志、二进制日志和慢查询日志。默认情况下,所有日志均创建于mysqld数据目录中。
  2. 通过刷新日志,可以强制mysqld关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志中)。当执行一个flush logs语句或执行mysqladmin flush-logs或mysqladmin refresh时,会使得日志刷新。

2、错误日志

2.1、日志内容

错误日志文件包含了服务器启停及运行过程中任何严重错误时的相关信息。

2.2、文件位置

  • 可用–log-error[=file_name]选项指定错误日志的文件位置。否则将使用错误日志名host_name.err,并在数据目录中写入日志文件。

2.3、监控分析

可以使用swatch等工具实时监控错误日志,或者自己编写脚本检查错误日志。也可发送错误日志到系统日志服务Syslog,这样就可以利用一些日志分析工具集中分析和处理错误信息。

3、通用日志

3.1、日志内容

  • 所有连接和语句都将被记录到日志文件中。
  • 日志量是四个日志里最大的,所以非必要不打开,否则在一个生产繁忙的系统中,通用日志在几小时之内可能就会塞满磁盘。

3.2、打开方式和文件位置

  1. 服务器级打开方式:用–log[=file_name]或-l[file_name]选项启动通用日志。
  2. 会话级打开方式:可用SET GLOBAL general_log ON打开通用日志记录
  3. 如果没有给定file_name的值,那么默认名就是host_name.log。可用show variables like '%gene%'查看通用日志的路径。

4、二进制日志

4.1、日志内容

  • 二进制日志包含了所有更新了数据或已经潜在更新了数据的语句及其执行时间。语句以“事件”(event)的形式保存,它描述了数据的更改信息。
  • 二进制日志的主要目的是恢复数据,因为二进制日志包含备份后进行的所有更新。
  • 二进制日志不包含没有修改任何数据的语句。如果想要记录所有的语句(例如,为了识别有问题的查询),那么我们应该使用通用日志。

5、慢查询日志

5.1、打开方式和文件位置

  • 当参数slow_query_log=1时,mysqld将记录一个执行时间超过long_query_time秒的所有SQL语句的日志文件。
  • 如果没有给出慢查询文件名,则默认为主机名,后缀为“-slow.log”。如果给出了文件名,但不是绝对路径名时,文件将会写入数据目录。

5.2、监控分析

要想让检查变得容易些,可以使用mysqldumpslow命令或pt-query-digest获得日志中显示的查询摘要来处理慢查询日志。

6、日志文件的维护

  1. 注意定期清理日志文件,以确保日志文件不会占用太多的硬盘空间。
  2. 错误日志文件,一般情况下不会变得很大;
  3. 慢查询日志在慢查询很多的情况下可能会变得很大,这时可能需要手动处理或编写脚本进行处理;
  4. 对于二进制日志文件,可以设置合适的过期策略,如expire-logs-days=10,该语句的意思是设置过期日期为10天。expi re_logs_days设置会在运行flush logs命令后触发删除过期的日志;
  5. 不要用操作系统下的rm命令删除日志,这可能会导致你执行日志清理的命令失败,你可能需要手动编辑文件hostname-bin.index才能修复这个问题。

7、总结

  1. MySQL共有错误日志、通用日志、二进制日志、慢查询日志四种。
  2. 一般通用日志会记录几乎所有信息,所以信息量巨大,不建议平时打开,只有出现问题时可以临时打开。
  3. 二进制日志记录的是所有数据更新的情况,主要用于数据恢复。
  4. 慢查询日志通过slow_query_log控制是否打开,用long_query_time控制慢查询语句的阀值。
  5. 注意日志的定期清理,特别是慢查询日志。
  6. 注意设置二进制日志合适的过期策略,例如设置expire-logs-days=180,则系统会在运行flush logs命令后自动触发删除180天前的二进制日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/11765.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(只需三步)如何用chatgpt自动生成思维导图

目录 chatgpt是可以生成思维导图的!只需三步,非常简单! 第一步:打开chatgpt,告诉它主题 第二步,完善思维导图 第三步:查看思维导图的效果 chatgpt是可以生成思维导图的!只需三步&am…

vue2路由(下)

编程式路由导航 通过点击按钮实现push和replace俩种模式的跳转 实现:就是通过$router原型里面的方法 也能实现路由的跳转和后退,分别采用的是$router里面的black和forward方法 感觉就是BOM对象中的history对象里面的方法 正是前进,后是后…

C/C++|物联网开发入门+项目实战|嵌入式C语言高级|C语言常用关键字及运算符操作-学习笔记(8)

文章目录2-2: C语言常用关键字及运算符操作关键字参考: 麦子学院-嵌入式C语言高级2-2: C语言常用关键字及运算符操作 [重点] 掌握C语言的常用关键宇及其应用场景,使用技巧 关键字 编译器:预先定义了一定意义的字符串,32个。 s…

通讯录的实现(初级版本)

思维导图: 目录 思维导图: ​编辑 一,实现通讯录的第一步——实现逻辑 二,头文件内实现的内容 三,contect.c文件内的函数定义 3.1初始化通讯录:void InitContect(cotect*pc) 3.2:实现通讯录内容的增加&#xff…

Python的基础

这是我自己学习Python的三个星期的小总结,内容包含了规范、数据类型、函数、类和捕捉异常,做了一个简单的梳理,希望可以帮助到和我一样开始学习Python的小伙伴,也希望多多支持,相互进步,下面步入正题。 基…

【Python】Python中的列表,元组,字典

文章目录列表创建列表获取元素修改元素添加元素查找元素删除元素列表拼接遍历列表切片操作元组创建元组元组中的操作字典创建字典添加/修改元素删除元素查找字典的遍历合法的key类型列表 列表是一种批量保存数据的方式,列表使用[]表示 创建列表 创建两个空列表 …

Java对日开发成趋势?网友:找工作打开了新思路

近两年行业环境起起伏伏,企业降本增效,提高人才招聘的门槛,导致大家找工作时觉得越来越难,尤其是Java开发,主打的就是一个“卷”! 不过行业变革,挑战与机遇并存。Java作为编程语言排行榜的常年第…

malloc hook进行内存泄漏检测

记录下使用malloc的hook形式,写个小的demo,并记录遇到的问题 1. 实现代码: CMakeLists.txt和相应的memory_leak.cpp文件 cmake_minimum_required(VERSION 3.14) project(demo)set(_SRCmemory_leak.cpp)add_library(memory_leak SHARED ${_S…

SpringCloud:ElasticSearch之索引库操作

ElasticSearch索引库就类似数据库表,mapping映射就类似表的结构。 我们要向ElasticSearch中存储数据,必须先创建“库”和“表”。 1.mapping映射属性 mapping是对索引库中文档的约束,常见的mapping属性包括: type:…

【无人机】采用最基本的自由空间路损模型并且不考虑小尺度衰落(多径多普勒)固定翼无人机轨迹规划(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【Android Audio】TimeCheck机制

TimeCheck机制(Android R/S) TimeCheck.cpp TimeCheck.h frameworks/av/media/utils/TimeCheck.cpp TimeCheck守护线程的作用: 当audioserver中IAudioFlinger,IAudioPolicyService,IEffect中的每一个binder函数调用时…

E4--光纤接口通信测试应用2023-04-17

1.场景 使用两块开发板A和B,通过光纤接口将在A板上ROM中存储的图片数据转发到B板并显示在B板连接的显示屏上,实现光纤接口通信。 具体场景是,由于A735T片上资源有限,因此ROM IP存储了一张1024*600(LVDS屏幕&#xff0…

深拷贝与浅拷贝

目录: 深拷贝与浅拷贝的区别实现深拷贝的方式利用JSON.parse(JSON.stringify())实现深拷贝的局限性cloneDeep与json的对比手写实现cloneDeep 深拷贝与浅拷贝的区别 深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。 深拷贝和浅拷贝的示意图大致如下&a…

SpringBoot——Scheduled定时任务

目录 1.静态定时任务 2.动态定时任务 在一些业务场景中,我们需要定义一些任务在我们指定的时间或是每隔一个时间段就自动执行,来作为任务的前提,保证业务的执行。比如:我们需要一个定时任务,每天早上6点执行&#xf…

多通道振弦传感器无线采集采集仪如何开始使用

多通道振弦传感器无线采集采集仪如何开始使用 开始使用 设备电源 VS208~432 可使用内置电池(默认)也可使用外部电池工作。 需要特别注意:严禁内置和外部电池(电源)同时使用,严重时会造成短路起火&#xff0…

靶机精讲之CTF4

主机发现 靶机193 端口扫描 服务扫描 80,25(明确版本)攻击面更大 web渗透 blog是交互式的程序 发现index可进行手动爆破(地址包含) http://192.168.10.193/index.html?page../../../../../../../../etc/passwd 无发…

【数据挖掘与商务智能决策】第八章 K近邻算法

第八章 K近邻算法 1.K近邻算法简单代码演示 import pandas as pd df pd.read_excel(葡萄酒.xlsx) df原始样本酒精含量(%)苹果酸含量(%)分类0样本15201样本26102样本34103样本48314样本51021 # 特征变量和目标变量的切分 X_train df[[酒精含量(%),苹果酸含量(%)]] y_train …

PHP实现以函数的方式计算阶乘,使用函数输入数值逆序输出的两个代码程序

目录 前言 一、实现以函数的方式计算阶乘 1.1运行流程(思想) 1.2代码段 1.3运行截图 二、使用函数输入3个数求和,并以表单形式输出 2.1运行流程(思想) 2.2代码段 2.3运行截图 前言 1.因多重原因,…

【C++】模板进阶--非类型模板参数模板特化及分离编译

文章目录一、非类型模板参数二、模板的特化1.模板特化的概念2.函数模板的特化3.类模板的特化3.1 全特化3.2 偏特化4.类模板特化应用示例三、模板的分离编译四、模板总结一、非类型模板参数 模板参数分为类型形参与非类型形参,其中,类型形参即出现在模板…

Spring启动及Bean实例化过程来看经典扩展接口

目录 一、Spring启动及Bean实例化过程 二、分析其对应经典扩展接口 三、对开发的指导意义 备注:以下总结只是一些基本的总结思路,具体每个扩展接口的应用后续进行分析总结。 一、Spring启动及Bean实例化过程 Spring启动及Bean实例化的过程&#xff0…
最新文章