MySQL日志

本文介绍了MySQL中的几种关键日志类型,包括错误日志、二进制日志、查询日志和慢查询日志。详细解释了每种日志的内容、用途、文件位置及格式,并提供了配置选项和操作命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误日志

记录内容:包含了MySQLD启动和停止时,以及服务器在运行过程中发生的任何严重错误时的相关信息


文件位置和格式:可以用- - log-error[ = file_name ]选项来指定mysqld保存错误日志文件的位置,如果没有给定file_name值,mysqld使用错误日志名host_name.err并在数据目录中写入日志文件。



BINLOG

记录内容:二进制日志包含了所有更新了数据或已潜在更新了数据(例如,一个没有匹配任何行的DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改情况。


文件位置和格式:当用 - - log-bin[ = file_name ]选项启动时,mysqld写入包含所有的更新数据的SQL命令的日志文件。如果未给出file_name的值,默认名为-bin后面跟主机名。如果给出了文件名,但没有包含路径,则文件被写入数据目录。


查看binlog内容


删除日志:

RESET MASTER;//删除所有binlog日志,新日志编号从头开始

PURGE MASTER LOGS TO ‘mysql-bin.010’;//删除mysql-bin010之前所有的日志

PURGE MASTER LOGS BEFORE '2015-01-01 00:00';//删除2014-01-01 00:00之前产生的所有日志

相关选项:

1)- -binlog-do-db=db_name

告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,应该将更新记录到二进制日志中。其他所有没有明确指定的数据库,则忽略

2)- - binlog-ignore-db=db_name

告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,不应将更新保存到二进制日志中要想记录或复试多个数据库,使用多个选项,为每个数据库指定相应的选项。

3)-innodb-sage-binlog

使用此选项和synv_binlog=N(每写N次日志同步磁盘)全局变量将使得事务能够记录的更加安全

4)具有SUPER权限的客户端可以通过SET SQL_LOG_BIN=0语句禁止将自己的语句加入二进制记录


查询日志

记录内容:记录了客户端的所有语句,而二进制日志不包含只查询数据的语句


文件位置和格式:用- - log[ = file_name ] 或 l [ file_name ] 选项来启动它。如果没有给定file_name的值,默认名是host_name.log



慢查询日志

记录内容:记录包含所有执行时间超过longg_query_time秒的SQL语句的日志文件。获得初始表锁定的时间不爽作执行时间


文件位置和格式:用 - - log-slow-queries[ = file_name ] 选项来启动它。如果没有给定file_name值,默认为主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录


快速查看:使用mysqldumpslow命令获得日志中显示的查询摘要来处理慢查询日志,例如:


其他选项:在MySQL5.1中,通过 - - log-slow-admin-statements服务器选项,你可以请求将慢管理语句,例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE写入慢查询日志。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值