• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Mysql中错误日志、binlog日志、查询日志、慢查询日志简介

Mysql中错误日志、binlog日志、查询日志、慢查询日志简介

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了Mysql,查询日志,错误日志等相关知识,希望本文的分享对您有所帮助

前言

数据库的日志是帮助数据库管理员,追踪分析数据库曾经发生的各种事件的有力依据,mysql中提供了错误日志、binlog日志(二进制日志)、查处日志、慢查询日志。在此,我力求解决以下问题:各个日志的作用是什么?怎样去控制这些日志呢?怎样去使用这些日志提供的信息呢?

错误日志

1.错误日志作用

错误日志记录了mysql启动和停止时,以及服务器运行过程中发生任何严重性错误的相关信息。当数据库出现任何故障导致无法启动时候,比如mysql启动异常,我们可首先检查此日志。在mysql中,错误日志日志(还有其他日志),不仅仅可以存储在文件中,当然还可以存储到数据的表中,至于实现方式,笔者也正在研究中···

2.错误日志控制与使用

1.配置

通过log-error=[file-name]来配置(在mysql的配置文件中),如果没有指定file_name,mysqld使用错误日志名为host_name.err(host_name为主机名),并默认在参数datadir(保存数据的目录)指定的目录中写入日志文件。

比如我本地使用的是WampServer集成环境

其中log-error=D:/wamp/logs/mysql.log

如下图


如果我将log-error注释掉(#log-error=D:/wamp/logs/mysql.log),重启服务器,则可以查看到错误日志文件在datadir指定的目录下


2.查看错误日志

错误日志的格式:时间 [错误级别] 错误信息

如果你感觉通过mysql配置文件来定位错误日志所在位置比较麻烦,你完全可以通过再客户端通过命令来查看错误日志所在位置

使用命令式:show variables like 'log_error';


以下是mysql启动日志



二进制日志

1.作用

二进制日志(又叫binlog日志)记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不包括数据查询语句,语句是以“事件”的形式保存的,它描述数据更改的过程。该日志的两个主要功能是:数据的恢复与数据的复制。



数据的恢复:MySQL本身具备数据备份和恢复功能。比如,我们每天午夜12:00进行数据的备份。如果某天,下午13:00,数据库出现故障,导致数据库内容丢失。我们可以通过二进制日志解决这个问题。解决思路是,可以先将前一天午夜12:00的数据备份文件恢复到数据库,然后再使用二进制日志回复从前一天午夜12:00到当天13:00对数据库的操作。

数据复制:MySQL支持主从服务器间的数据复制功能,并通过该功能实现数据库的冗余机制以保证数据库的可用性和提高数据库德性能。MySQL正是通过二进制日志实现数据的传递。主服务器上的二进制日志内容会被发送到各个从服务器上,并在每个从服务器上执行,从而保证了主从服务器之间数据的一致性。

2.二进制日志控制与使用

1.开启

在默认情况下,mySQL不会记录二进制日志。怎样才能开启MySQL的二进制日志记录功能呢?

我们可以通过MySQL的配置文件来控制MySQL启动二进制日志记录功能。通过修改参数log-bin=[base_name]来启动MySQL二进制日志。mySQL会将修改的数据库内容的语句记录到以 base_name-bin.0000x为名的日志文件中,其中bin代表binary,后缀00000x代表二进制日志文件的顺序,每次启动Mysql,日志文件顺序会自动加1.如果base_name没有定义,MySQL将使用pid-file参数设置的值作为二进制日志文件的基础名字。

比如我将log-bin文件名定为mybinlog,那么将会在D:/wamp/bin/mysql/mysql5.6.17/data目录下,生成mybinlog.00000x的二进制日志文件。


二进制日志文件如下图


通过使用show variables like'log_bin'检查bin-log日志是否开启。



2.查看

MySQL二进制日志主要是供MySQL内部使用的,并不是为了数据库管理员阅读使用,因此,二进制日志与其他日志一个重要的不同就是,二进制文件的格式不是文本格式,其内容不能通过记事本直接查看,为了便于管理员管理,MySQL提供了mysqlbinlog工具查看二进制日志内容。


比如:mysqlbinlog D:\wamp\bin\mysql\mysql5.6.17\data\mybinlog.000003

执行结果如下:


现在我们来做一个测试,看看bin日志是否记录了我更新数据库的操作

比如我将数据表t2中id2=2的那行记录的id1改为5。然后在查询二进制日志文件,看是否记录了我的操作。


结果和明显,二进制文件记录了我修改数据库的操作,并且还记录了我是修改那个数据库里面的数据,至于我查询语句,它并没有记录。

3.二进制日志的删

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05ASP.NET下向SQLServer2008导入文件实例操作方法
  • 2017-05-11mysql分页原理和高效率的mysql分页查询语句
  • 2018-12-05中文Access2000速成教程--1.2 使用“数据库向导”创建表
  • 2018-12-05Ubuntu与windows双系统下共用MySQL数据库的方法
  • 2018-12-05SQLServer 2005 列所有存储过程的语句
  • 2018-12-05mysql部分替换sql语句分享
  • 2018-12-05mysql 性能的检查和调优方法
  • 2018-12-05中文Access2000速成教程--1.7 创建索引
  • 2017-05-11mysql主从库不同步问题解决方法
  • 2017-05-11Windows7中配置安装MySQL 5.6解压缩版

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 重新restore了mysql到另一台机器上后mysql 编码问题报错
    • 详细介绍mysql巡检脚本的案例代码
    • 提高MySQL数据库的安全性(四)
    • 找到MySQL的优点
    • SQL Server使用Merge语句当源表数据集为空时,无法进行查询的问
    • 自增字段 auto_commit的研究分析
    • IP处理函数inet_aton()和inet_ntoa()使用说明
    • mysql 无限级分类实现思路
    • 两大步骤教您开启MySQL 数据库远程登陆帐号的方法
    • 浅谈 管理用户 核心架构设计

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有