MySQL日志
来源:互联网 发布:win7怎么打开2404端口 编辑:程序博客网 时间:2024/06/05 04:48
MySQL学习笔记
一,日志
在MySQL中,有4种不同的日志,分别是错误日志、二进制日志(BINLOG日志)、查询日志和慢查询日志,这些日志记录着数据库在不同方面的踪迹。
二,错误日志
错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查卡此日志。
三,二进制日志
二进制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语句)语句,但是不包括数据查询语句。语句以事件的形式保存,它描述了数据的更改过程。此日志对于灾难时的数据恢复起着极其重要的作用。
MySQL的主从复制就是通过传输二进制日志实现。
四,查询日志
查询日志记录了客户端的所有语句,而二进制日志不包含只查询数据的语句。
五,慢查询语句
慢查询日志记录了所有执行时间超过参数long_query_time(单位:秒)设置值并且扫描记录数不小于min_examined_row_limit的所有SQL语句的日志(注意,获得表锁定的时间不算作执行时间)。long_query_time默认为10秒,最小为0,精度可以到微妙。
在默认情况下,有两类常见语句不会记录到慢查询日志:管理语句和不使用索引进行查询的语句。这里的管理语句包括ALTER TABLE、ANALYZE TABLE、CHECK TABLE、CREATE TABLE、DROP INDEX、OPTIMIZE TABLE和REPAIR TABLE。如果要监控这两类SQL语句,可以分别通过参数–log-slow-admin-statements和log_queries_not_using_indexes进行控制。
六,mysqlsla简介
在很多情况下,都需要对MySQL日志进行各种分析,来了解系统运行的方方面面。比如我们可能需要对查询日志进行分析,看一下哪些语句执行最频繁,从而了解客户最关心的功能,哪些重要的功能为什么点击率低,需要我们进一步完善,在比如DBA很关心性能问题,需要从慢查询日志中进行分析,找到最消耗时间的SQL进行优化,等等。
MySQL自带了一些工具可以对日志进行分析,比如mysqlbinlog可以用来分析二进制日志,mysqlslow可以用来分析慢查询日志,但这些工具相对功能较单一,而且对查询日志没有提供分析工具。因此,很多第三方工具出现了,而mysqlsla是其中使用较广泛的一个。
mysqlsla是MySQL Statement Log Analyzer的缩写,它可以分析查询日志、慢查询日志(包括微妙日志)、二进制日志和具有固定格式的自定义日志。
七,总结
日子是数据库中很重要的记录内容,它可以帮助我们诊断数据库出现的各种问题。
系统故障时,建议首先查看错误日志,以帮助用户迅速定位故障原因。
如果要记录数据的变更、数据的备份、数据的复制等操作时,二进制日志必须打开,以帮助用户进行数据恢复等操作。默认不记录此日志,建议通过-log-bin选项将此日志打开。
如果希望记录数据库发生的任何操作,包括select,则需要用-log将查询日志打开,此日志默认关闭,一般情况下建议不要打开此日志,以免影响系统整体性能。
如果希望查看系统的性能问题,希望找到有性能问题的SQL语句,则需要用–slow_query_log打开慢查询日志。对于大量的慢查询日志,建议使用mysqldumpslow工具来进行汇总查看。
八,参考资料
《深入浅出MySQL 数据库开发、优化与管理维护》
- mysql日志-二进制日志
- MySQL日志--查询日志
- mysql日志
- mysql日志
- Mysql日志
- mysql日志
- mysql日志
- mysql日志
- MySQL日志
- mysql日志
- mysql 日志
- mysql 日志
- mysql日志
- mysql日志
- mysql日志
- MySQL日志
- mysql日志
- mysql日志
- log4j配置文件示例
- 关于String,StringBuffer,StringBuilder的理解
- oracle更新(insert delete update truncate)
- 用c++语言编写程序实现学生成绩录入,学生信息编辑,以及学生信息(包括成绩,编号)打印
- luoguP1551 亲戚 题解
- MySQL日志
- 开通微博
- maven 添加activeti包就报错
- php二维数组去重即去掉重复键值的子元素
- c++中的const成员函数
- Idea 2017.2.4 破解 可用方法,请看到最后一行
- (运输层)TCP可靠传输原理之停止等待协议(ARQ)/连续ARQ协议
- A Cubic number and A Cubic Number
- EventBus源码详解(一):基本使用