Mysql运维篇(一) 日志类型

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人,如有侵权请留言,我及时删除。

一、mysql相关日志

首先,我们能接触到的,一般我们排查慢查询时,会去看慢查询日志。如果做过数据备份会恢复的,可能接触或用过BinLog。那还有其他的吗?对MySQL原理比较了解的,应该知道还有Redo Log和Undo Log。这些都是比较常见:慢查询日志、Binlog、Redo Log、Undo Log。

其实,MySQL中还有:错误日志(errorlog)、一般查询日志(general log)、中继日志(relay log),只是这些大家接触少点。

总结下,MySQL中一共七种日志,分别为:慢查询日志、Binlog、Redo Log、Undo Log、错误日志(errorlog)、一般查询日志(general log)、中继日志(relay log)。

1、错误日志 log_error

mysql> show variables like '%log_error%';

2、二进制日志 BINLOG

mysql> show variables like '%bin_log%';

2.1、使用mysqlbinlog 查看MySQL默认的二进制格式

mysql binlog参数详解_mysqlbinlog参数-CSDN博客

mysql> show variables like '%binlog_format%';

使用mysqlbinlog 查看MySQL binlog ROW格式的二进制日志

示例:创建一张销售表,并在binlog日志中找到SQL执行记录

CREATE TABLE sales (

id INT PRIMARY KEY AUTO_INCREMENT,

product VARCHAR(50),

quantity INT,

price DECIMAL(10,2)

);

INSERT INTO sales (product, quantity, price) VALUES ('产品A', 10, 9.99);

INSERT INTO sales (product, quantity, price) VALUES ('产品B', 5, 4.99);

INSERT INTO sales (product, quantity, price) VALUES ('产品C', 8, 6.75);

root@mysql8 data\]# mysqlbinlog -v binlog.000007 ![](https://file.jishuzhan.net/article/1748939219994152961/49a78f089b96a420d8efbbc926ad4023.webp)![](https://file.jishuzhan.net/article/1748939219994152961/ded4aa75ce63b34b6d55d555861218f7.webp) 2.2、使用mysqlbinlog 查看MySQL binlog STATEMENT格式的二进制日志 配置文件/etc/my.cnf 新增 binlog_format=STATEMENT 重启MySQL vi /etc/my.cnf binlog_format=STATEMENT ![](https://file.jishuzhan.net/article/1748939219994152961/b9794862ab9cd37c7828505d048bad2c.webp) 插入一条语句,并在binlog日志中查看执行的SQL INSERT INTO sales (product, quantity, price) VALUES ('??D', 9, 8.75) ![](https://file.jishuzhan.net/article/1748939219994152961/d9f34d3b53b3af260929250076623fd4.webp) 2.3、清理MySQL-binlog日志文件 ![](https://file.jishuzhan.net/article/1748939219994152961/a4c8b6dedb4c3885b3cb59693ec0a2ad.webp) 示例一:删除binlog.000003之前的日志 mysql\> purge master logs to 'binlog.000003'; ![](https://file.jishuzhan.net/article/1748939219994152961/2e9bed57d22bb5c7b4d273e015f00837.webp) ![](https://file.jishuzhan.net/article/1748939219994152961/bbdc63fcf9a1d169f34ae455409512b3.webp) 2.4、MySQL数据设置binlog日志过期时间 mysql\> show variables like '%binlog_expire_logs%'; ![](https://file.jishuzhan.net/article/1748939219994152961/1cb1a77f8ddbd3ac8c653d9cfd7c73d9.webp) 3、MySQL 查询日志 ![](https://file.jishuzhan.net/article/1748939219994152961/e13fcc2d60e66fdd8048cc591d396bcb.webp) 3.1、查询日志默认状态 mysql\> show variables like '%general%'; ![](https://file.jishuzhan.net/article/1748939219994152961/10483cead0d7fd608cdb1556c5819d6a.webp) 3.2、开启MySQL查询日志,修改my.cnf文件,并重启MySQL服务 vi /etc/my.cnf ---新增如下配置------- general_log=1 general_log_file=/mysql/data/mysql8.log \[root@mysql8 data\]# systemctl restart mysqld 查看日志状态 mysql\> show variables like '%general%'; ![](https://file.jishuzhan.net/article/1748939219994152961/b04aa648cebae5a371535cfd36a72492.webp) 3.3、查询日志记录的信息 ![](https://file.jishuzhan.net/article/1748939219994152961/3749283ef55a75ed86aa92c0efb6c42f.webp) ![](https://file.jishuzhan.net/article/1748939219994152961/4c258ed4b0ace2478a5da9e9c473ff21.webp) ![](https://file.jishuzhan.net/article/1748939219994152961/78b9180231ca60cf07b7144109271972.webp) 4、慢日志 ![](https://file.jishuzhan.net/article/1748939219994152961/9b32f490e6e7807622be2450a5675831.webp) 4.1、查看慢日志的默认配置 ![](https://file.jishuzhan.net/article/1748939219994152961/8a397557bc6a391e4c9b37291d65fe37.webp) 4.2、开启慢日志,并修改慢SQL记录时间,重启MySQL生效 \[root@mysql8 data\]# vi /etc/my.cnf ----新增配置----- slow_query_log=1 long_query_time=1 \[root@mysql8 data\]# systemctl restart mysqld ![](https://file.jishuzhan.net/article/1748939219994152961/e7cf2194970b13190dde3fbba1d577d0.webp) 4.3、准备测试环境,创建一个1千万数据的test 表 ![](https://file.jishuzhan.net/article/1748939219994152961/625b9b95d2d419ec85fdd9ff93f395cc.webp) [【MySQL】生成1000万条测试数据_生成1000w条mysql数据-CSDN博客](https://blog.csdn.net/qq_43718048/article/details/128316052 "【MySQL】生成1000万条测试数据_生成1000w条mysql数据-CSDN博客") ![](https://file.jishuzhan.net/article/1748939219994152961/3e901a2d8774c157aa5b42d4b487801b.webp)

相关推荐
网硕互联的小客服5 分钟前
如何排查 Docker 容器资源占用过高的问题?
运维·服务器·网络·安全·docker·容器
阿蒙Amon8 分钟前
C#最佳实践:为何优先使用as或is而非强制转换
服务器·数据库·c#
执笔为剑20 分钟前
Linux系统部署KES
linux·运维·服务器
xrkhy25 分钟前
Linux系统的CentOS7发行版安装MySQL80
linux·mysql·centos
Johny_Zhao26 分钟前
基于CentOS Stream 8的物联网数据采集与展示方案
linux·网络·python·mqtt·mysql·网络安全·信息安全·云计算·shell·yum源·系统运维
bcxwz6691 小时前
linux 下常用变更-8
linux·运维·服务器
2401_831501732 小时前
MySQL 知识小结(一)
数据库·mysql
不爱搬砖的码农2 小时前
windows系统MySQL安装文档
windows·mysql·adb
23级二本计科2 小时前
14.MySQL用C语言连接
数据库·mysql
运维成长记2 小时前
Zabbix 高可用架构部署方案(2最新版)
mysql·架构·zabbix