MySQL--日志

日志

错误日志

错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息

当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。

该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。查看日志位置:

sql 复制代码
show variables like %log_error%

二进制日志

二进制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。
MySQL8之后会默认开启,建议打开,以备不时之需

作用:①.灾难时的数据恢复;②.MySQL的主从复制。在MySQL8版本中,默认二进制日志是开启着的,涉及到的参数如下:

sql 复制代码
show variables like'%log_bin%'

日志格式

MySQL服务器中提供了多种格式来记录二进制日志,具体格式及特点如下:

日志格式 含义
STATEMENT 基于SQL语句的日志记录,记录的是SQL语句,对数据进行修改的SQL都会记录在日志文件中。
ROW 基于行的日志记录,记录的是每一行的数据变更。(默认)
MIXED 混合了STATEMENT和ROW两种格式,默认采用STATEMENT,在某些特殊情况下会自动切换为ROW进行记录。
sql 复制代码
show variables like '%binlog_format%';

日志删除

对于比较繁忙的业务系统,每天生成的binlog数据巨大,如果长时间不清除,将会占用大量磁盘空间。可以通过以下几种方式清理日志:

指令 含义
reset master 删除全部binlog日志,删除之后,日志编号,将从binlog.000001重新开始
purge master logs to 'binlog.*1' 删除编号之前的所有日志
purge master logs before 'yyyy-mm-dd hh24:mi:ss' 删除日志为"yyyy-mm-dd hh24:mi:ss"之前产生的所有日志

也可以在mysql的配置文件中配置二进制日志的过期时间,设置了之后,二进制日志过期会自动删除。

sql 复制代码
show variables like '%binlog_expire_logs_seconds%';

查询日志

查询日志中记录了客户端的所有操作语句,而二进制日志不包含查询数据的SQL语句。默认情况下,查询日志是未开启

的。如果需要开启查询日志,可以设置以下配置:

修改MySQL的配置文件/etc/my.cnf文件,添加如下内容:

bash 复制代码
#该选项用来开启查询日志,可选值:0或者1;0代表关闭,1代表开启
general_log=1
#设置日志的文件名,如果没有指定,默认的文件名为host_name.log
general_log_file=mysql_query.log

慢查询日志

慢查询日志记录了所有执行时间超过参数long_query_time 设置值并且扫描记录数不小于min_examined_row_limit的所有的sQL语句的日志,默认未开启。long_query_time 默认为 10 秒,最小为 0,精度可以到微秒。

bash 复制代码
#慢查询日志
slow_query_log=1
#执行时间参数
long_query_time=2
相关推荐
Raink老师11 分钟前
【AI面试临阵磨枪-94】Skill 安全:注入、越权、数据泄露、恶意代码、沙箱?
数据库·安全·面试
kkk哥17 分钟前
weixin121作品集展示微信小程序
java·mysql·微信小程序·ssm·b/s架构·作品集展示微信小程序
程序员二叉27 分钟前
【Redis】 缓存三大问题 + 大Key/热Key 全面解析
数据库·redis·缓存
mit6.82429 分钟前
Agent Memory Management
数据库·人工智能
We Just Keep growing40 分钟前
【MySQL进阶篇】—— 视图、存储过程、存储函数、触发器
数据库·mysql
梦想的颜色2 小时前
MySQL 数据存储结构与查询执行生命周期深度解析
运维·数据结构·数据库·mysql·线程·优化
电商API_180079052472 小时前
免 TOP 入驻,第三方淘宝商品详情 API 快速接入与代码示例
java·大数据·开发语言·数据库·爬虫·数据分析
神龙斗士2402 小时前
增删改查操作
数据库·mysql
Elastic 中国社区官方博客2 小时前
13.7万人,零人工决策:使用 Elasticsearch 实现智能体驱动的灾害响应系统
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
yuzhiboyouye2 小时前
sql增删改查怎么写?有时会不会有联表查询的增删查改
数据库·sql