MySQL软件中的日志操作:
- 日志的含义
- 启动日志文件
- 查看日志文件
- 停止日志文件
- 删除日志文件
- 支持的日志文件
- 二进制日志: 该日志文件会以二进制形式记录数据库的各种操作,但是却不记录查询语句。
- 错误日志: 该日志文件会记录MySQL服务器启动、关闭和运行时出错等信息。
- 通用查询日志: 该日志记录MySQL服务器的启动和关闭信息、客户端的连接信息、更新数据记录SQL语句和查询数据记录SQL语句。
- 慢查询日志: 记录执行时间超过指定时间的各种操作,通过工具分析慢查询日志可以定位MySQL服务器性能瓶颈所在。
- 操作二进制日志
(1) 启动二进制日志
- 打开my.ini配置文件,在[mysqld]组里添加相应语句
[mysqld]
log-bin或log-bin=D:\mysqllog\binlog
(2) 查看二进制日志
mysqlbinlog binlog.000001
(3) 停止二进制日志
# 实现暂时停止二进制日志,0代表停止,1代表开启。
set sql_log_bin=0
(4) 删除二进制日志
#删除全部二进制日志
reset master;
# 删除编号小于number的所有二进制文件
purge master logs to filename.numer
# 删除指定时间之前所创建的所有二进制文件
purge master logs before 'yyyy-mm-dd hh:MM:ss'
- 操作错误日志
(1) 启动错误日志
默认是开启的,并且无法禁止。错误日志文件通常的名称格式为hostname.err,默认在data目录下。
修改错误日志的存放目录,可以通过设置MySQL服务器的配置文件my.ini来实现:
[mysqld]
error-bin[=dir\[filename]]
(2) 查看错误日志
找到错误日志,并用普通文本工具打开即可。
(3) 删除错误日志
# 首先会创建一个新的错误日志,然后将旧的错误日志更名为filename.err-old。如果数据库管理员认为旧的没有用处,则可以直接删除。
mysqladmin -u root -p flush-logs
- 通用查询日志
(1) 启用通用查询日志
设置MySQL服务器的配置文件my.ini实现,默认保存目录,数据库数据文件里,后缀名为.log。
[mysqld]
log[=dir\[filename]]
(2) 查看通用查询日志
普通文本查看即可
(3) 停止通用查询日志
删除MySQL服务器的配置文件my.ini中的log配置
(4) 删除通用查询日志
# 直接删除日志
mysqladmin -u root -p flush-logs
- 慢查询日志
(1) 启动慢查询日志
默认是关闭的 ,通过设置MySQL服务器的配置文件my.ini来实现。默认保存在数据库文件中,参数n单位为秒,如果没有设置long_query_time选项,默认时间为10秒。
[mysqld]
log-slow-queries=[=dir\[filename]]
long_query_time=n
(2) 查看慢查询日志
普通文本编辑器打开即可
(3) 分析慢查询日志
查看慢查询次数最多的语句或者慢查询时间最长的语句,对应的工具为mysqldumpslow.pl(需要perl语言环境,下载地址),常用参数:
- “-s”为分析慢查询日志时指定排序参数,可选的有“al”(表示平均锁定时间),“ar”(表示平均返回记录数),“at”(表示平均查询时间)。
- “-t”参数表示只显示指定的行数。
(4) 停止慢查询
启动配置出将其注释
(5) 删除慢查询日志
# 先删除慢查询日志文件,再重新刷新慢查询日志
mysqladmin -u root -p flush-logs