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

参考博客:http://www.cnblogs.com/wangkongming/p/3684950.html

原文地址:https://www.cnblogs.com/zengzhihua/p/4623850.html