MySQL的日志文件概述

这里介绍的日志文件都是MySQL数据库本身的文件,和具体用什么存储引擎无关。

错误日志

MySQL的错误日志类似于Oracle的alert.log,默认情况下以.err结尾,DBA在遇到问题时,首先应该查询 该日志获得错误信息。

查询日志

查询日志记录了所有的数据库请求,即时这些请求没有得到正确 的执行。

慢查询日志

慢查询日志用于记录运行时间比较长的SQL语句,可以通过参数 long_query_time来设置该阀值。默认情况下,MySQL并不启动慢查询日志,可以通过设置log_slow_queries 为ON启动它。

另一个和慢查询日志相关的参数是log_queries_not_using_indexes,该参数为ON表示 如果运行的SQL语句没有使用索引,就将其记录到慢查询日志中。

慢查询日志主要用于协助DBA进行 SQL语句的优化。

二进制日志

二进制日志记录了所有数据库的更改操作(SELECT和SHOW不包含 在里面),二进制文件在默认情况下没有启动,需要手动指定参数启动。

二进制日志主要有以下两个 作用:

1)恢复(recovery):当一个数据库从全备文件恢复后,我们可以通过二进制日志进行 point-in-time恢复。

2)复制(replication):可以利用它实行从数据库的实时同步。

开启 二进制文件会影响性能(根据官方文档显示,开启二进制文件使得数据库性能下降1%左右),但考虑到它带 来的好处,这些性能损失还是可以接受的。

时间: 2024-10-29 21:56:40

MySQL的日志文件概述的相关文章

mysql二进制日志文件恢复数据库_Mysql

二进制日志的文件的作用     mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句.如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合使用,即可再现用户操作,使数据库恢复. 二进制日志文件的弊端 二进制日志文件开启后,所有对数据库操作的记录均会被记录到此文件, 所以,当长时间开启之后,日志文件会变得很大,占用磁盘空间. 使用二进制日志文件恢复数据库 开启日志文件 mysql默认是不开启日志文件的

linux系统中清理MySql的日志文件mysql-bin.00000

首先说明,mysql-bin.00000*类似的文件是mysql的日志文件. 通过命令  代码如下 复制代码 du -h –max-depth=1 / 查看根目录下每个文件夹所占用存储的大小,发现/var占用了快3G,进一步使用du命令,发现是存放mysql数据文件的文件夹占用了绝大部分空间,进入该文件夹,发现有很多mysql-bin.00000开头的文件,而且其中的某些达到了1G以上,google发现原来这些用户是mysql记录的日志文件,用于数据库崩溃后恢复数据和主从数据库进行数据同步的.如

mysql 删除日志文件命令详解

如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:  代码如下 复制代码 mysql> reset master; 还有一各就是在my.cnf里配置.  代码如下 复制代码 expire_logs_days = 3 二进制日志自动删除的天数.这里设置了自动清除3天前的logs. 默认值为0,表示"没有自动删除". 例  代码如下 复制代码 # 按文件:删除mysql-bin.000354之前的日志,不包含mysql-bin.000354

MySQL InnoDB表空间及日志文件简介

MySQL一个显著的特点是其可插拔的存储引擎,因此MySQL文件分为两种:一种是MySQL服务器本身的文件(主要是一 些日志文件,如错误日志.二进制日志等),所有的存储引擎共享:另一种是和具体存储引擎相关的文件.本文主要介 绍和InnoDB存储引擎相关的文件(数据+日志),至于MySQL服务器本身的日志文件,可以参考<[MySQL] 日志文件概述 >. InnoDB表空间文件 InnoDB在很多方面和Oracle非常像,它的数据也是按表空间存储的,表空间是一个在逻辑上为整体的存储块,默认情 况

mysql dba系统学习(8)查询日志文件功能

查询日志的作用是记录所有客户端发来的sql语句,也就是记录客户端的所有操作 Log参数将要过时,现在用general_log来代替 打开查询日志功能 mysql> showvariables like "%log"; +----------------+-------+ | Variable_name| Value | +----------------+-------+ | back_log| 50| | general_log| OFF| | log| OFF| | rela

linux中停止Mysql日志并删除mysql-bin.0000*日志文件

今天访问网站出现数据库链接错误,然后想重启 lnmp 环境,发现无法正常关闭 mysql 服务,回想一下,服务器已经平稳运行 4 个多月了,配置方面应该没有什么问题,所以想到,可能是数据盘空间用完了,果然如此.就想到应该是日志文件导致的,最后检查到 mysql 的日志文件超过,而且居然好几个日志文件几个G.好吧,看来问题就是出在这里.百度到军哥的博客,删除了所有 mysql-bin.0000*日志文件,重启就OK了,顺手把 mysql 日志功能关闭了. LNMP一键安装包安装的MySQL默认是开

MySQL数据库日志文件维护的方法

由于日志文件是恢复数据库数据的重要参考,因此日志文件的维护也有十分重要的意义.当MySQL与日志文件一起使用时,你有时想要删除/备份旧的日志文件并且告诉MySQL在新文件中开始记录.本文涉及如何启用新的日志文件,包括更新日志和常规日志.这里所述的方法,同样也适用二进制日志. 如何使用新的更新日志 如果你只使用一个更新日志,你只须清空日志文件,然后移走旧的更新日志文件到一个备份中,然后启用新的更新日志. 用下列方法可以强制服务器启用新的更新日志: ◆mysqladmin flush-logs 你一

删除mysql下pid文件后无法启动怎么解决?

  提示:"Starting MySQL-- ERROR! Manager of pid-file quit without updating file"的解决办法. 删除了mysql二进制日志文件后,重新启动mysql出现这个报错的,因为磁盘空间小,那些二进制文件占用了很大的空间.所以要删除.后来的解决方法是,进入mysql的var目录下cd /usr/local/mysql/var/,然后vi mysql-bin.index,去掉你删除的二进制日志文件即可.如果还是没有解决查看va

mysql 清除relay-log文件方法详解

mysql 清除relay-log文件方法详解 今天在本机的mysql数据目录下发现了许多类似hostname-relay-bin.0000*的文件,该文件一般是在mysql slave实例上存在.主要用途是记录主从同步的信息,正常情况下会自动删除的. 本机未配置过master.slave,对于其来源还真不太清楚.既然是用在slave上的,那就可以放心的删除.删除master实例上的日志文件用reset master,对于slave实例就使用命令:  代码如下 复制代码 reset slave