MySQL日志管理
2017-09-05 21:24
232 查看
1 错误日志:
记录内容:包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息文件位置和格式:
可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。 如果没有给定file_name值,mysqld使用错误日志名host_name.err
并在数据目录中写入日志文件
2 BINLOG:
记录内容:二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“ 事件” 的形式保存,它描述数据更改文件位置和格式:
当用--log-bin[=file_name]选项启动时,
mysqld写入包含所有更新数据的SQL命令的日志文件。如果未给出file_name值,
默认名为-bin后面所跟的主机名。如果给出了文件名,但没有包含路径,则文件被写入数据目录
查看binlog内容:
shell> mysqlbinlog log-file
删除日志:
RESET MASTER;//删除所有binlog日志,新日志编号从头开始
PURGE MASTER LOGS TO 'mysql-bin.010';//删除mysql-bin.010之前所有日志
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';//
删除2003-04-02 22:46:26之前产生的所有日志
相关选项:
1. --binlog-do-db=db_name
告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,应将更新记录到二进制日志中。其它所有没有明显指定的数据库
被忽略
2. --binlog-ignore-db=db_name
告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,不应将更新保存到二进制日志中要想记录或忽视多个数据库,使用多个选项,为每个数据库指定相应的选项。
3. -innodb-safe-binlog
使用此选项和sync_binlog=N(每写N次日志同步磁盘)全局变量将使得事务能够记录的更加安全
4. 具有SUPER权限的客户端可以通过SET SQL_LOG_BIN=0语句禁止将自己的语句记入二进制记录
3 查询日志
记录内容:
记录了客户端的所有语句,而二进制日志不包含只查询数据的语句文件位置和格式:用--log[=file_name]或-l [file_name]选项启动它。 如果没有给定file_name的值,默认名是host_name.log。
4 慢查询日志:
记录内容:
记录包含所有执行时间超过long_query_time秒的SQL语句的日志文件。获得初使表锁定的时间不算作执行时间。
文件位置和格式
用--log-slow-queries[=file_name]选项启动它。 如果没有给出file_name值, 默认为主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。
快速查看:
使用mysqldumpslow命令获得日志中显示的查询摘要来处理慢查询日志,例如:
[zzx@bj37 data]$ mysqldumpslow bj37-slow.log
其他选项:
在MySQL 5.1中,通过--log-slow-admin-statements服务器选项,
你可以请求将慢管理语句,例如OPTIMIZE TABLE、
ANALYZE TABLE和
ALTER TABLE写入慢查询日志
相关文章推荐
- MySQl Study学习之--MySQl二进制日志管理
- [Qt] [MySQL] 创建一个触发器让日志管理一劳永逸
- 基于mysql的可视化日志管理——loganalyzer
- CentOS 6.5下的lamp环境rsyslog+MySQL+loganalyzer实现日志集中分析管理
- mysql日志自定义管理
- mysql二进制日志文件清理以及 管理
- Mysql 日志管理
- MySQL用户、权限、缓存、索引、日志管理
- MySQL参考手册第5章:日志管理
- MySQL日志管理详解
- MySQL之日志管理(一)
- MySQL之日志管理(二)
- Mysql:日志管理:综述
- linux下mysql日志管理及mysql备份还原
- MySQL日志管理
- MySQL 日志管理
- mysql dba系统学习(10)innodb引擎的redo log日志的原理 mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题
- 第 14 章 MySQL的日志管理
- mysql日志管理
- MySQL 日志管理