MYSQL数据库学习十七 日志管理
17.1 MySQL软件所支持的日志
MySQL所支持的日志文件里,除了二进制日志文件外,其他日志文件都是文本文件。默认情况下,MySQL只会启动错误日志文件,其他日志文件则需要手动启动。
- 二进制日志:该日志 文件会以二进制形式记录数据库的各种操作,但是却不记录查询语句。
- 错误日志:该日志文件会记录MySQL服务器启动、关闭和运行时出错等信息。
- 通用查询日志:该日志记录MySQL服务器启动和关闭信息、客户端的连接信息、更新数据记录SQL语句和查询数据记录SQL语句。
- 慢查询日志:记录执行时间超过指定时间的各种操作,通过工具分析慢查询日志可以定位MySQL服务器性能瓶颈所在。
查看帮助文档可以发现,使用日志有优点也有缺点。启动日之后,虽然可以实现对MySQL服务器进行维护,但是会降低MySQL软件的执行速度。因此是否启动日志,启动什么类型日志要根据具体应用来决定。
17.2 操作二进制日志
1. 启动
修改配置文件my.ini
[mysqld] log-bin[=dir[filename]]
2. 查看
mysqlbinblog filename.number #必须在数据目录下
mysql> showbinary logs; #显示当前服务器使用的二进制文件及大小 mysql> showmaster logs; #显示主服务器使用的二进制文件及大小 mysql> showmaster status; #当前使用的二进制文件及所处位置
3. 暂停
SET SQL_LOG_BIN=0|1
0:暂停二进制日志功能;
1:开启二进制日志功能。
4. 删除
1.删除所有的二进制日志
RESET MASTER;
2.根据文件或时间点来删除二进制日志
PURGE { BINARY | MASTER } LOGS {TO 'log_name' | BEFORE datetime_expr }
17.3 操作错误日志
1.启动错误日志
修改配置文件my.ini
[mysqld] error-bin[=dir[filename]]
在mysql数据库中,错误日志功能是默认开启的。并且,错误日志无法被禁止。
如果没有设置dir和filename:日志文件将使用默认名字——hostname.err,保默到默认目录——数据库数据文件里。
2.查看错误日志
可直接使用普通文本工具查看。
3.删除错误日志
mysqladmin –u root –p flush-logs
17.4 通用查询日志
1.启动
修改配置文件my.ini
[mysqld] log [=dir[filename]]
2.查看
可直接使用普通文本工具查看。
3.停止
修改配置文件my.ini,将对应配置注释掉。
4.删除
mysqladmin –u root –p flush-logs
17.5 慢日志查询
1.启动
修改配置文件my.ini
[mysqld] log-slow-queries[=dir[filename]] long_query_time=n
filename的格式:filename-slow.log
如果没有设置dir和filename:日志文件将使用默认名字——hostname-slow.log,保默到默认目录——数据库数据文件里。
2.查看
可直接使用普通文本工具查看。
3.分析
mysqldumpslow.pl -s al|ar|at -t n
-s:为分析慢查询日志时指定排序参数,al表示平均锁定时间,ar表示平均返回记录数,at表示平均查询时间。
-t:表示只显示指定的行数。
4.停止
修改配置文件my.ini,将对应配置注释掉。
5.删除
mysqladmin –u root –p flush-logs