Mysql数据库日志类型查询与配置详解

mysql常见的日志类型有五种:错误日志、二进制日志、查询日志、慢查日志和中继日志。

一、错误日志

错误日志包含四类信息:
(1) 服务器启动和关闭进程过程中的信息;
(2) 服务器运行过程中的错误信息;
(3) 事件调度器运行一个事件时产生的信息;
(4) 在从服务器上启动从服务器进程时产生的信息。

在mysql中查看错误日志的存放路径:

 代码如下 复制代码

# mysql -u root -p 123456
mysql> SHOW VARIABLES LIKE '%err%';

查看警告信息的状态:
mysql> SHOW VARIABLES LIKE 'log%';

如果结果中“log_warnings“的值为1,说明警告信息也写到了错误日志中;为0,则说明没写到错误日志中。

My.ini配置信息:

 代码如下 复制代码
#Enter a name for the error log file.   Otherwise a default name will be used.
#log-error=d:/mysql_log_err.txt

二、二进制日志

二进制日志有两种功能:

(1) 做即时点恢复(基于时间点恢复的)
(2) 复制(将主服务器发生的任何改变复制到从服务器上保证数据一致)

二进制日志存储的信息是每一个明确或潜在的有可能使数据库中的数据发生改变的SQL语句。

查看是否开启二进制日志:

 代码如下 复制代码
mysql> SHOW VARIABLES LIKE '%bin%';

如果结果中“log_bin”的值为“ON”则开启了二进制日志;为“OFF”则没有开启二进制日志。
查看有哪些二进制日志:

 代码如下 复制代码
mysql> SHOW BINARY LOGS;

说明:由于二进制日志文件不是单独的一个,而是多个,所以此时你看到的结果可能不止一个。要想看当前数据库正在使用的二进制日志文件是哪一个,用下面命令:

 代码如下 复制代码
mysql> SHOW MASTER STATUS;

二进制日志有三种格式:基于语句的,记录的是SQL语句;基于行的,记录的是SQL语句执行的结果;混合的。

 代码如下 复制代码

mysql> SHOW BINLOG EVENTS IN 'binlog_name' FROM 107;

查看二进制日志从某个位置发生改变的情况
说明:由于二进制日志的文件不是文本文件,所以一般的查看命令并不能查看二进制日志文件内容,要想查看二进制日志文件内容,就需要一个特殊的命令:mysqlbinlog

 代码如下 复制代码

# mysqlbinlog  专门查看二进制日志文件的内容
--start-position   起始位置
--stop-position    结束位置
--start-datetime   起始时间
--stop-datetime    结束时间

例:# mysqlbinlog --start-position=‘107’ mysql-bin.00002
例:# mysqlbinlog --start-position=‘107’ --stop-position=‘381’

mysql-bin.00002
例:# mysqlbinlog --start-datetime=‘2012-04-08 10:00:00’ --stop-

datetime=‘2012-04-08 20:00:01’ mysql-bin.00002

My.ini配置信息:

 代码如下 复制代码

#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=d:/mysql_log_bin

三、查询日志

查看查询日志状态:

 代码如下 复制代码
mysql> SHOW VARIABLES LIKE 'general_log';

如果结果中的“general_log”的值为“ON“,则是开启了查询日志;如果为”OFF“,则没有开启查询日志。
指定查询日志的路径:只要在general_log_file=  后面写上路径即可。

My.ini配置信息:

 代码如下 复制代码
#Enter a name for the query log file. Otherwise a default name will be used.
#log=d:/mysql_log.txt

四、慢查日志

查看慢查日志状态看状态是否开启

 代码如下 复制代码
mysql> SHOW VARIABLES LIKE 'SLOW%';

如果"slow_query_log"的值为”ON“,则开启了慢查询日志;如果为”OFF“,则没有开启慢查询日志

说明:其中查询日志和慢查日志都可记录到表里或文件里,也可以二者都有记录。

My.ini配置信息:

 代码如下 复制代码
#Enter a name for the query log file. Otherwise a default name will be used.
#log=d:/mysql_log.txt

五、中继日志

在mysql服务器中从架构中的从服务器上用到的,当从服务器想要和主服务器进行数据的同步时,从服务器将主服务器的二进制日志文件拷贝到己的主机上放在中继日志中,然后调用SQL线程按照拷中继日志文件中的二进制日志文件执行以便就可达到数据的同步。
开启的方法:(只在从服务器上开启)
配置mysql的主配置文件:
relay-log=  指定中继日志的位置和名字
relay-log-index=  指定中继日志的名字的索引文件的位置和名字

My.ini配置信息:

 代码如下 复制代码
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=d:/mysql_log_update.txt
时间: 2024-09-14 11:32:43

Mysql数据库日志类型查询与配置详解的相关文章

mysql中my.cnf 配置 日志类型及文件配置详解

mysql有以下几种日志: 错误日志:    log-err 查询日志:    log 慢查询日志:  log-slow-queries 更新日志:    log-update 二进制日志: log-bin     [client]   port = 3306 socket = /home/mysql/mysql/tmp/mysql.sock   [mysqld]   !include /home/mysql/mysql/etc/mysqld.cnf #包含的配置文件 ,把用户名,密码文件单独存

MySQL服务器集群介绍与配置详解

1. 先了解一下你是否应该用MySQL集群. 减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面.其他不共享的数据还维持在各自分布的MySQL数据库本身中. 2. 集群MySQL中名称概念.(如上图) 1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库.包括自身数据和查询中心结点数据. 2)数据结点(Data node

MySQL数据库的数据备份和恢复详解

本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到

MySQL 5.7主主备份配置详解

MySQL 5.7主主备份配置 1. 主要配置步骤 主库配置步骤 1.GRANT创建用户并授权ip为从服务器的ip,本句含义是为创建一个用户名为uname密码为upwd的用户这个用户只能从192.168.1.111上进行访问 mysql> grant replication slave on *.* to 'repl_user'@'192.168.3.115' identified by 'zcxc123'; 2 Query OK, 0 rows affected (0.01 sec) 2.修改

MySQL timestamp的类型与时区实例详解_Mysql

 MySQL timestamp的类型与时区 MySQL的timestamp类型时间范围between '1970-01-01 00:00:01' and '2038-01-19 03:14:07',超出这个范围则值记录为'0000-00-00 00:00:00',该类型的一个重要特点就是保存的时间与时区密切相关,上述所说的时间范围是UTC(Universal Time Coordinated)标准,指的是经度0度上的标准时间,我国日常生活中时区以首都北京所处的东半球第8区为基准,统一使用东8区

MYSQL数据库的导出和导入方法详解

方法一 SQL脚本形式 操作步骤如下: 2.1. 导出SQL脚本 在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本. 2.1.1 用phpMyAdmin工具 导出选项中,选择导出"结构"和"数据",不要添加"Drop DATABASE"和"Drop TABLE"选项. 选中"另存为文件"选项,如果数据比较

mysql下float类型使用一些误差详解_Mysql

单精度浮点数用4字节(32bit)表示浮点数采用IEEE754标准的计算机浮点数,在内部是用二进制表示的如:7.22用32位二进制是表示不下的.所以就不精确了. mysql中float数据类型的问题总结  对于单精度浮点数Float:  当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double是浮点计算,decimal是定点计算,会得到

MySQL数据库中的外键约束详解

使用MySQL开发过数据库驱动的小型web应用程序的人都知道,对关系数据库的表进行创建.检索.更新和删除等操作都是些比较简单的过程.理论上,只要掌握了最常见的SQL语句的用法,并熟悉您选择使用的服务器端脚本语言,就足以应付对MySQL表所需的各种操作了,尤其是当您使用了快速MyISAM数据库引擎的时候.但是,即使在最简单的情况下,事情也要比我们想象的要复杂得多.下面我们用一个典型的例子进行说明.假设您正在运行一个博客网站,您几乎天天更新,并且该站点允许访问者评论您的帖子. 在这种情况下,我们的数

MySQL之MariaDB启用审计插件配置详解

对于MySQL Percona MariaDB三家都有自己的审计插件,但是呢,MySQL的审计插件是只有企业版才有的,同时也有很多第三方的的MySQL的审计插件,而Percona和MariaDB都是GPL的审计插件 先来看看MariaDB的审计插件使用,启用插件和调整参数 [root@DS-VM-Node127 /data/mariadb]# mysql -uroot -pZjUxZGI2ZjcwMmEy Welcome to the MariaDB monitor.  Commands end