数据库优化——MySQL日志
来源:互联网 发布:linux操作系统基础 编辑:程序博客网 时间:2024/06/05 23:00
摘要
本文为数据库优化系列文章的第四篇文章 :《数据库优化——优化MySQL Server》
更多文章参见
数据库优化 : http://blog.csdn.net/leyounger/article/details/70157087
MySQL日志
MySQL中有四种不同的日志,分别是错误日志,BINLOG日志,查询日志和慢查询日志
1. 错误日志
错误日志记录了系统mysqld从启动到关闭的所有严重错误的日志
当系统出错的时候,第一时间应当来看错误日志
可以用–log-error[=file_name]选项来指定保存错误日志的位置,默认来说,mysqld使用host_name.err(host_name为主机名),并默认在参数DATADIR指定的目录中写入日志文件
2. BINLOG
二进制日志记录了所有的DDL语句和DML语句,但是不包括数据查询语句。
BINLOG对数据灾难时恢复起着极其重要的作用!!
1. 日志的位置
当用–log-bin[=file_name]启动时,mysqld将包含所有更新数据的SQL命令写入日志文件,如果没有指定file_name,则在主机名后面跟-bin,默认写在DATADIR指定的目录
2. 日志的读取
shell> mysqlbinlog log-file
3. 日志的删除
对于比较繁忙的OLTP系统,需要每天定期删除log文件,下面介绍几种删除日志的常见方法
//(1) 执行"RESET MASTER;"该命令将删除所有binlog,新日志编号从“000001”开始,//(2) 执行"PURGE MASTER LOGS TO 'mysql-bin.******'命令该命令将删除******之前的所有日志//(3) 执行"PURGE MASTER LOGS BEFORE 'YYYY-MM-DD hh24:mi:ss'"该命令删除日期前的所有日志//(4) 设置参数--expire_logs_days=#表示日志的过期天数
3. 查询日志
查询日志记录了客户端的所有语句,而BINLOG日志不包含查询语句
1. 日志的位置
当用–log[=file_name]启动时,mysqld将包含所有更新数据的SQL命令写入日志文件,如果没有指定file_name,默认文件名为host_name.log,默认写在DATADIR指定的目录
2. 日志的读取
more localhost.log
4. 慢查询日志
慢查询日志记录了包含所有执行时间超过参数long_query_time(单位:秒)所 设置值的SQL语句的日志。获得表锁定的时间不算作执行时间。
1. 日志的位置和格式
同错误日志、查询日志一样,慢查询日志记录的格式也是纯文本,可以被直接读取。
当用–log-slow-queries[=file_name]启动时,mysqld将包含所有更新数据的SQL命令写入日志文件,如果没有指定file_name,默认文件名为host_name-slow.log,默认写在DATADIR指定的目录
//(1) 首先查询以下long_query_time的值SHOW VARIABLES LIKE 'long%';//(2) 为了方便测试,将慢查询时间修改为2秒SET long_query_time=2;//(3) 第一个查询因为查询时间低于2秒而不会出现在日志中SELECT COUNT(1) FROM emp;//(4) 第二个查询因为查询时间大于2秒则应该出现在日志中SELECT COUNT(1) FROM emp t1, dept t2 WHERE t1.id=t2.id;//(5) 查看慢查询日志more localhost-slow.log
可以使用mysqldumpslow来对慢查询日志进行分类汇总!
- 数据库优化——MySQL日志
- MySQL优化之——日志
- mysql优化——慢查询日志
- mysql优化——数据库优化策略
- 数据库优化——优化MySQL Server
- Mysql数据库——二进制日志
- MySQL数据库优化(四)——MySQL索引优化
- MySQL数据库优化(五)——MySQL查询优化
- Log4j日志存储到数据库——优化
- 性能优化——mysql数据库
- 数据库查询优化——Mysql索引
- 数据库查询优化——Mysql索引
- 数据库优化——MySQL锁问题
- MySQL配置优化(一)——慢查日志
- MySQL配置优化(一)——慢查日志
- mysql 数据库优化 慢查询日志的开启
- MySQL 数据库性能优化——缓存参数优化
- MySQL 数据库性能优化——表结构优化
- Mac pro使用的那些坑(四)java环境变量配置
- 线程中wait和锁的理解,序列化serializable;
- 2017年 代做安卓毕业设计 Android毕业设计
- 可能是全网最全的移动直播 trouble shooting 手册(4)——延时高
- 你真的了解try{ return }finally{}中的return?
- 数据库优化——MySQL日志
- 04_第一个Java程序
- C++中临时对象及返回值优化
- ACPI---高级配置和电源管理接口(Advanced Configuration and Power Management Interface)
- 数组名和指针变量的差异
- 开源框架Struts:FormBean滴那些事儿
- 可能是全网最全的移动直播 trouble shooting 手册(5)——音画不同步
- libevent多线程
- React.js初探-如何将一个普通button改造成类React组件