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