MySQL中的日志类型(一)-摘要和日志的共同特征
admin
2023-05-08 03:21:11
0次

MySQL中的日志类型

MySQL具有多种日志,用来记录mysqld的活动情况,以下为MySQL中的类型及其简要说明。

日志类型 说明
General query log 记录从客户端获取到的连接和语句
Slow query log 记录超过long_query_time时间的查询
Error log 记录在mysqld服务启动、运行或停止时遇到的问题
Binary log 记录修改数据的语句
Relay log 在复制结构中,从库从主库获取到的数据修改
DDL log(metadata log ) DD语句执行的元数据操作

默认情况下,除了Windows系统上的Error log,其他日志都是不可用的。

下面将按照日志的共同特征、每个日志的特点来讨论这些日志的情况

日志的共同特征

日志的启用

默认情况下,除了Windows系统上的Error log,其他日志都是不可用的,要开启这些日志,需要在数据库启动时指定相应的选项

日志类型 开启选项
General query log --general_log
Slow query log --slow_query_log
Binary log --log-bin
Error log --log-error
Relay log 不需要额外开启
DDL log 不需要额外开启

general query log和slow query log也可以在数据库运行时进行启用或禁用。可以通过设置全局变量general_log和slow_query_log来控制他们的启用和禁用,例如:

SET GLOBAL general_log = 'OFF';
SET GLOBAL slow_query_log = 'ON';

日志文件名称及位置

默认情况下,日志都存放在数据库的数据目录下。可以通过相应的选项来修改位置和名称。具体可以参考下表,在下表中,host_name代表数据库服务器的主机名,nnnnnn代表一个6位的整数序列。file_name和base_name是指定的文件名称。可以通过在file_name或base_name中使用绝对路径来修改日志存放的位置。

日志类型 默认名称 相应选项
General query log host_name.log --general_log_file=file_name
Slow query log host_name-slow.log --slow_query_log_file=file_name
Binary log pif-file-bin --log_bin=base_name
Error log host_name.err --log_error=file_name
Relay log hostname-relay-bin.nnnnnn --relay-log=file_name
DDL log ddl_log.log 无法修改

general query log和slow query log除了记录在日志文件中以外,也可以记录在日志表中。日志表在mysql库中。名称分别为general_log和slow_log。可以通过--log-output来指定将这两种日志的存放位置,位置可以是表、文件、或者表和文件。

Binary log日志文件的默认名称是pid-file的值加上-bin后缀。默认pid-file的值是服务器的主机名。但是不建议使用默认值,当使用默认值时,如果服务器的主机名发生变更,Binary log日志文件的名称也需要进行相应更改。

日志刷新

日志刷新会关闭然后重新打开日志文件。对于binary log和relay log,还会创建一个新的日志文件。
日志刷新发生在以下情况下:
1.使用FLUSH LOGS语句
2.使用带有flush-logs或者reflush选项的mysqladmin命令
3.使用带有--flush-logs或者--master-data选项的mysqldump命令

FLUSH LOGS语句会关闭并重新打开所有的日志文件,如果需要只刷新某种日志文件,需要指定日志类型,例如:

FLUSH SLOW LOGS

日志记录时间

日志类型 记录时间
generl query log 在服务器接收到客户端发来的命令时就写入到日志中。
slow query log 在语句执行完毕,释放锁之后写入到日志中。
binary log 在语句执行完毕,释放锁之前写入到日志中。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...