博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql日志管理
阅读量:7294 次
发布时间:2019-06-30

本文共 2373 字,大约阅读时间需要 7 分钟。

Mysql日志管理

Mysql日志分为:二进制文件、错误日志、删除日志文件

在Mysql软件所支持的日志文件里。除了二进制文件外,其他日志文件都是文本文件

默认情况下。MySQL软件只会启动错误日志文件,而其他日志文件则需要手动启动才可以被启动。

  • MySQL软件所支持的日志
    • 二进制日志文件:该日志问价会以二进制形式记录数据库的各种操作,但却不记录查询语句
    • 错误日志:该日志文件会记录MySQL服务器启动、关闭和运行时出错等信息。
    • 通用查询日志:该日志记录MySQL服务器的启动和关闭信息,客户端的连接信息、更新数据记录的SQL语句和查询数据记录SQL语句
    • 慢查询日志:记录执行时间超过指定时间的各种操作,通过工具分析慢查询日志可以定位 MySQL服务其性能瓶颈所在。
  • 启动日志后可以实现对服务器进行维护,但是会降低MySQL软件的执行速度

一、操作二进制日志

(一)启动二进制日志

  • 默认情况下,二进制日期是关闭的,如果想启动二进制日志,可以通过设置MySQL服务器的配置文件my.ini来实现
  • 如果mysql数据库意外停止,可以通过二进制日志文件来查看用户执行了哪些操作。对数据库服务器进行了哪些修改,然后根据二进制文件中的记录来恢复数据库服务器
[mysqld]log-bin[=dir\[filename]]在上述语句中,参数dir用来指定,二进制文件的存储路径,参数filename用来指定二进制文件的文件名,具体的格式为filename.number,其中eg:[mysqld]log-bin=D:\mysqllog\binlog

(二)查看二进制日志

mysqlbinlog filename.number在上述命令中,参数filename.number表示所要查看的二进制日志注意:要进入存放二进制日志的目录,再执行该命令

(三)停止二进制日志

SET SQL_LOG_BIN=0SET SQL_LOG_BIN=1当设置SQL_LOG_BIN的值为0时,表示暂停二进制日志功能,当设置SQL_LOG_BIN的值为1时,表示重新开启二进制功能。注意:只有拥有SUOER权限的用户,才可以执行SET语句

(四)删除二进制日志

RESET MASTER;执行上述命令可以删除所有二进制文件PURGE MASTER LOGS TO filename.number执行上述命令,可以删除编号小于number的所有二进制日志文件PURGE MASTER LOGS BEFORE 'yyyy-mm-dd hh:MM:ss'执行上述命令,可以删除指定时间之前所创建的所有二进制日志文件

二、操作错误日志

在MySQL数据库服务器里,错误日志默认是开启的,同时该种类型的日志也是无法被禁止的。

错误日志一般存放在Mysql服务器的数据文件夹下(C:/ProgramFiles\MySQL/MySQL Server 5.0 data),错误日志文件通常的名称格式,为hostname.err,其中参数hostname表示MySQL服务器的主机名

(一)启动错误日志

  • 如果想修改错误日志的存放目录,可以通过设置MySQL服务器的配置文件my.ini来实现
[mysqld]error-bin[dir/[filename]]

(二)查看错误日志

错误日志是以文本文件的形式存储内容,所以可以直接使用普通文本工具来查看该类型的日志内容。

(三)删除错误日志

mysqladmin -u root -p flush-logs执行上述命令,MySQL首先会创建一个新的错误日志,然后将旧的错误日志更名为filename.err-old。如果数据库管理员认为filename.err-old文件没有任何用处,既没有任何存在的理由,可以直接删除。

三、通用日志查询

通用查询日志主要用来记录用户关于MySQL服务器的所有操作,包含了MySQL服务器的启动和关闭信息,客户端的连接信息,更新数据记录SQL语句和查询数据记录SQL语句。

一般建议关闭此日志,需要时可以通过设置环境变量打开。

(一)启动日志查询

默认情况下,通用查询日志是关闭的,如果想启动通用查询日志,可以通过设置Mysql服务器的配置文件my.ini来实现。

#通过设置my.ini设置文件[mysqld]log [=dir\filename]#通过设置环境变量启动日志#通过设置环境变量general_log进行通用日志的动态控制,on表示开启mysql > set global general_log=on;#查看相关环境变量mysql > show varibles like '%general_log%' \G

四、慢查询日志

主要用来记录执行时间超过指定时间的查询语句,通过查看该类型的日志文件,可以查找到哪些查询语句的执行效率低,以便找出MySQL服务器的性能瓶颈从而进行优化。

(一)启动慢查询日志

默认情况下,慢查询日志是关闭的,如果想启动慢查询日志,可以通过设置MySQL服务器的配置文件my.ini

[mysqld]log-slow-queries[=dir\[filename]]long_query_time=n#通过设置环境变量general_log进行通用日志的动态控制,on表示开启mysql > set global slow_query_log=on;mysql > set global long_query_time=3;

(二)分析慢查询日志

MySQL提供了对应的工具用于分析MySQL慢查询日志的内容,,对应的工具为mysqldumpslow.pl

转载于:https://www.cnblogs.com/XtsLife/p/11014758.html

你可能感兴趣的文章
MySQL5.5/5.6/5.7的安装脚本
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
BUG管理系统(Mantis)迁移实录
查看>>
20161011L04-03老男孩linux运维实战培训-Linux系统的用户和用户组管理-01
查看>>
我的友情链接
查看>>
oracle表空间操作详解
查看>>
Oracle从零开始04——SQL语句03——单行函数
查看>>
C语言数组名和指针
查看>>
帧中继配置
查看>>
eclipse安装快速打开项目所在位置的插件
查看>>
Python爬虫框架Scrapy 学习笔记 6 ------- 基本命令
查看>>
lvm快照的创建恢复
查看>>
数学之美笔记(二十)
查看>>
网站设计八步骤
查看>>
Oracle系统用户的默认密码及功能
查看>>
获取数组中的最大值
查看>>
Operation category READ is not supported in state standby
查看>>
elasticsearch 6.6 安装(CentOS 7.5) 修订
查看>>
python进阶资源整理
查看>>