四种日志
错误日志
二进制日志
慢查询日志
查询日志
1. 错误日志(.err)
- 严重错误信息记录
more x.err
2. 二进制日志(binlog)
- 记录DDL,DML(select除外)
- 用于数据恢复
格式分类:
statement
row
mixed(statement+row)
查看:
shell>mysqlbinlog logfile
1) statement语句级
每一数据更改的SQL均记录
优点:
日志量小(IO影响较小)缺点:
slave复制日志可能出错
2) row行级
每行变更被记录
优点:
详细,不存在无法复制缺点:
日志量大(IO影响大)
3) mixed混合型
mysql默认格式
默认用statement,以下row:
- NDB存储引擎
- 客户端使用临时表
- 客户端采用不确定函数(主从得到的值不同,如currernt_user())
3. 查询日志(.log)
记录所有语句,包含select
频繁访问的系统,影响系统性能,建议关闭
4. 慢查询日志
执行时间超long_query_time(默认10s)所有SQL语句
默认关闭
查看:
mysqldumpslow -slow.log
以下语句不记录:
- 不使用索引查询的语句
- 管理语句
alter table
check/optimize/analyse/repair table
create/dorp index
5. 日志分析工具
全日志
mysqlsla
适用查询日志,慢查询日志,二进制日志
数据报表功能强大
慢查询
pt-query-digest
分析binlog、General log、slowlog,也可通过SHOWPROCESSLIST或tcpdump抓取MySQL协议数据分析
mk-query-digest
分析慢查询日志,也可以对当前的语句进行分析等
其他
Percona-Toolkit
《高性能Mysql》