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)

相关推荐
送秋三十五23 分钟前
5分钟读懂MySQL+Redis双写一致性实现流程
数据库·redis·mysql
bbmmqq27 分钟前
根据角色ID获取完整角色信息(异步)
数据库·spring·oracle
阿波罗尼亚29 分钟前
查询修正字段sql记录
数据库·sql·mysql
一个儒雅随和的男子30 分钟前
Redis性能调优指南
数据库·redis·spring
老华带你飞32 分钟前
动漫资讯|基于Springboot的动漫交流网站设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·国产动漫网站
JIngJaneIL35 分钟前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
QQ12958455041 小时前
ThingsBoard部件数据结构解析
数据结构·数据库·物联网·iot
苦学编程的谢1 小时前
Redis_1_初识Redis+浅谈分布式系统
数据库·redis·缓存
Hello.Reader1 小时前
用 Flink CDC 将 MySQL 实时同步到 Doris
大数据·mysql·flink
人工智能教学实践1 小时前
Flask-SQLAlchemy 操作 SQLite 数据库示例
数据库·sqlite·flask