学习笔记之MySQL 日志文件管理

MySQL 日志文件分为4种:错误日志、通用查询日志、慢查询日志和二进制日志。

1.错误日志:记录MySQL 服务器的启动、运行或停止时出现的问题。

(1)启动和设置错误日志

默认情况下会开启错误日志功能,而且,错误日志无法被禁止。打开数据安装目录下的my.ini 文件找到log-error 选项进行查看,具体如下:

# Error Logging.

log-error="WS.err"

log-error 选项指定mysqld 保存错误日志文件的位置,简单语法结构如下:

log-erroe [=DIR/fire_name];

上述语法中DIR 指定错误日志的路径,fire_name 是错误日志的名称,没有该参数时默认为主机名。

(2)查询错误日志

错误日志是一个文本文件,在该日志中记录着开启和关闭 MySQL 服务的时间,以及服务运行过程中的错误、警告和异常信息等。如果 MySQL 服务出现异常,可以打开错误日志查看原因。

(3)删除错误日志

MySQL 数据库可以使用两种方式开启新的错误日志:mysqladmin 命令和 FLUSH LOGS 语句。mysqladmin 命令的语法结构如下:

mysqladmin -u root -p flash-logs

执行上述命令完成后会自动创建一个新的错误日志,但是旧的错误日志会仍然保留着,只是对它的名称进行更改,在名称之后添加-old 内容。

直接执行FLUSH LOGS 语句之前必须先登录到 MySQL 数据库中,这样创建好新的错误日志以后,数据库管理员可以将旧的错误日志备份到其他的硬盘上,如果旧的错误日志已经没有存在的必要,则可以直接删除。

2.通用查询日志:记录用户登录和查询的信息。

通用查询日志通常会被称为一般查询日志或普通查询日志,它用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等。默认情况下,通用查询日志功能是关闭的。可以通过 SHOW GLOBAL VARIABLES 语句查询是否已经启用。语句和输出结果如下:

mysql> SHOW GLOBAL VARIABLES LIKE ‘%general%‘;

+---------------------------------------------+--------+

| Variable_name             | Value |

+---------------------------------------------+--------+

| general_log                  | OFF |

| general_log                  | WS.log |

+---------------------------------------------+--------+

2 rows in set (0.00 sec)

3.慢查询日志:记录所有的执行时间超过指定时间的所有查询或不使用索引的查询。

(1)启动慢查询日志

默认情况下,慢查询日志功能是关闭的。可以直接通过 SHOW VARIABLES 语句查看慢查询配置。执行语句和输出结果如下:

mysql> show variables like ‘%slow%‘;

+------------------------------------------------+------------------------+

| Variable_name              | Value           |

+------------------------------------------------+------------------------+

| log_show_admin_statements    | OFF      |

| log_slow_slave_statements       | OFF       |

| slow_launch_time            | 2             |

| slow_query_log               | OFF        |

| slow_query_log_fire            | WS-slow.log |

+------------------------------------------------+------------------------+

5 rows in set (0.00 sec)

4.二进制日志:以二进制文件形式记录了数据库中的操作,但是不记录查询语句。

(1)启用二进制日志

my.ini 文件中的 log-bin 选项可以开启或关闭二进制日志。my.ini 文件中的代码如下:

# Binary Logging.

# log-bin

于错误日志不同,默认情况下,二进制日志功能是关闭的,如果要开启它的功能,可以将 log-bin 选项前的“#“”去掉,然后为 log-bin 选项指定参数值。语法结构如下:

log-bin [= DIR\[firename]]

(2)查看二进制日志

二进制日志是以二进制方式存储的,因此它并不能直接读取。如果要查看二进制日志的内容,必须使用 mysql 自带的 mysqlbinlog 命令工具进行查看。执行该命令时必须指定查看二进制日志文件的路径,否则将会找不到指定的二进制文件。

(3)清理二进制日志

常见的几种清理二进制日志文件的方法:

1.删除所有二进制文件,语法如下:

RESET MASTER;

2.根据编号进行删除,语法如下:

PURGE MASTER LOGS TO ‘firename.number‘;

3.根据创建时间进行删除,语法如下:

PURGE MASTER LOGS BEFORE ‘yyyy-mm-dd hh:mm:ss‘;

(4)恢复二进制日志,语法如下:

mysqlbinlog firename.number | mysql -u root -p

原文地址:https://www.cnblogs.com/705xinguan/p/8111515.html

时间: 2024-07-31 16:25:06

学习笔记之MySQL 日志文件管理的相关文章

深入浅出MySQL开发优化和管理维护学习笔记之MySQL日志文件

一.配置文件分类与参数 错误日志 数据库启停过程中错误,运行过程中的异常. 保存方式: 文件 启用方式:无需使用开关参数启用,默认开启 相关参数 文件位置参数log_error,如果不指定值默认在DATADIR目录下,名称为host_name.error. 2.二进制(bin)日志 所有DDL和DML但不包含查询语句. 保存方式: 文件 启用方式:需要配置文件中设置开关参数启用,默认关闭(OFF) 文件位置参数log_bin,如果不指定名称,名称为host_name-bin.NUM:如果只指定名

MySQL学习笔记之一 MySQL入门

本人之前接触的关系型数据库主要是oracle和sqlserver,而对于mysql知之甚少,但查阅网上资料发现,mysql与oracle非常相似,所以学起来应该不会很费劲,在总结的时候可能更多的把关注点放在它与oracle的不同之处. 一.简介 MySQL是一个真正的多用户.多线程SQL数据库服务器.SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言.MySQL是一个客户端/服务器结构的实现, 它由一个服务器守护程序mysqld和很多不同的客户程序和库组成. MySQL的普及并不局限于

Java学习笔记——File类之文件管理和读写操作、下载图片

Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数 (boolean) mkdir() 创建此抽象路径名指定的目录  (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. (boolean) delete() 删除此抽象路径名表示的文件或目录 (boolean) createNe

spring学习笔记(19)mysql读写分离后端AOP控制实例

在这里,我们接上一篇文章,利用JNDI访问应用服务器配置的两个数据源来模拟同时操作不同的数据库如同时操作mysql和oracle等.实际上,上个例子可能用来模拟mysql数据库主从配置读写分离更贴切些.既然如此,在本例中,我们就完成读写分离的模拟在web端的配置实例. 续上次的例子,关于JNDI数据源的配置和spring datasource的配置这里不再重复.下面着重加入AOP实现DAO层动态分库调用.可先看上篇文章<spring学习笔记(18)使用JNDI模拟访问应用服务器多数据源实例 >

【第四章】MySQL日志文件管理

1.日志文件管理概述: 配置文件:/etc/my.cnf 作用:MySQL日志文件是用来记录MySQL数据库客户端连接情况.SQL语句的执行情况以及错误信息告示. 分类:MySQL日志文件分为4种:错误日志.通用查询日志.慢查询日志和二进制日志: 错误日志:记录MySQL服务器的启动.运行.或停止时出现的问题(默认情况,只启用错误日志功能.) 二进制日志:以二进制文件的形式记录了数据库中的操作,但不是记录查询语句. 通用查询日志:记录用户的登录和查询的信息. 慢查询日志:记录所有的执行时间超过指

Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例(三)统计分析:当前页面 一.借助Hive进行统计 1.1 准备工作:建立分区表 为了能够借助Hive进行统计分析,首先我们需要将清洗后的数据存入Hive中,那么我们需要先建立一张表.这里我们选择分区表,以日期作

Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

一.项目背景与数据情况 1.1 项目来源 本次要实践的数据日志来源于国内某知名的技术学习论坛,该论坛由某培训学校主办,汇聚了众多技术学习者,每天都有人发帖.回帖,如图1所示. 图1 项目来源网站-技术学习论坛 本次实践的目的就在于通过对该技术论坛的apache common日志进行分析,计算该论坛的一些关键指标,供运营者进行决策时参考. PS:开发该系统的目的是分了获取一些业务相关的指标,这些指标在第三方工具中无法获得的: 1.2 数据情况 该论坛数据有两部分: (1)历史数据约56GB,统计到

[Python] 学习笔记之MySQL数据库操作

1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择跟自己项目相关的数据库.Python DB-API支持的数据库如下所示: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 不同的数据库你需要下载不同的DB API模块,例如

Linux学习笔记:MySQL主从同步

概括的讲,主从同步就是,从库先导入主库的某一个位置点的备份,然后根据主库的binlog日志再不停地通过增量执行增删改,达到与主库一致. 工作原理: Master开启binlog功能(日志功能): 把Master某个时间点的整库备份导入到Slave中,备份时最好使用master-data=1这个参数: 在Master上分配一个REPLICATION SLAVE的帐号用于同步: MASTER包含一个IO进程,SLAVE的MySQL包括了IO进程和SQL进程(但这两个进程没有关联): SLAVE发起复