Mysql中错误日志、binlog日志、查询日志、慢查询日志简单介绍
前言
数据库的日志是帮助数据库管理员,追踪分析数据库以前发生的各种事件的有力根据。mysql中提供了错误日志、binlog日志(二进制日志)、查处日志、慢查询日志。在此,我力求解决下面问题:各个日志的作用是什么?如何去控制这些日志呢?如何去使用这些日志提供的信息呢?
错误日志
1.错误日志作用
2.错误日志控制与使用
1.配置
2.查看错误日志
二进制日志
1.作用
二进制日志(又叫binlog日志)记录了全部的DDL(数据定义语言)语句和DML(数据操作语言)语句。可是不包含数据查询语句。语句是以“事件”的形式保存的,它描写叙述数据更改的过程。该日志的两个主要功能是:数据的恢复与数据的复制。
比方,我们每天午夜12:00进行数据的备份。
假设某天,下午13:00,数据库出现问题。导致数据库内容丢失。
我们能够通过二进制日志解决问题。解决思路是。能够先将前一天午夜12:00的数据备份文件恢复到数据库,然后再使用二进制日志回复从前一天午夜12:00到当天13:00对数据库的操作。
主server上的二进制日志内容会被发送到各个从server上。并在每一个从server上运行,从而保证了主从server之间数据的一致性。
2.二进制日志控制与使用
1.开启
mySQL会将改动的数据库内容的语句记录到以 base_name-bin.0000x为名的日志文件里。当中bin代表binary。后缀00000x代表二进制日志文件的顺序,每次启动Mysql,日志文件顺序会自己主动加1.假设base_name未定义。MySQL将使用pid-file參数设置的值作为二进制日志文件的基础名字。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2.查看
比方:mysqlbinlog D:\wamp\bin\mysql\mysql5.6.17\data\mybinlog.000003
运行结果例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
如今我们来做一个測试。看看bin日志是否记录了我更新数据库的操作
比方我将数据表t2中id2=2的那行记录的id1改为5。然后在查询二进制日志文件,看是否记录了我的操作。
结果和明显,二进制文件记录了我改动数据库的操作,而且还记录了我是改动那个数据库里面的数据,至于我查询语句。它并没有记录。
3.二进制日志的删除
1.通过reset master 命令
2.通过purege master logs to命令
3.通过purge master logs beffor '时间' 命令
4.通过在配置文件里设置參数expire_logs_days
4.二进制日志重要參数说明
MySQL中系统默认的设置是sync_binlog=0。也就是不做不论什么强制性的磁盘刷新指令。这时候的性能是最好的,可是风险也是最大的。由于一旦系统Crash。在binlog_cache中的全部binlog信息都会被丢失。而当设置为“1”的时候,是最安全可是性能损耗最大的设置。由于当设置为1的时候。即使系统Crash。也最多丢失binlog_cache中未完毕的一个事务,对实际数据没有不论什么实质性影响。
5.利用二进制日志进行数据恢复
\mybinlog.000004
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
关于二进制日志的补充:
1.我们还能够通过使用show binary logs命令查看当前还有哪些二进制日志。
2.我们能够通过show binlog
events日志记录的事件
show binlog events查看的是全部日志记录的事件。假设想查询某个二进制日志记录事件,能够在后面加in+'日志名'。例如以下图:
查询日志
慢查询日志
1.功能描写叙述
我们能够通过log-slow-queries=[file_name]选项来启动慢查询日志功能。和前面的日志一样,假设没有指定file_name,那么日志文件夹在datedir文件夹下,且默认的名字为host_name-slow.log。
2.慢查询日志读取
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
slow_query_log=ON
slow_query_log_file=D:/wamp/logs/myslowquery.log
long_query_time=1.5
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在上面我共运行了3条SQL语句,如今我们再来看一下,慢查询日志例如以下
其仅仅是记录了查询当中查询时间比較长的那条sql语句。
Mysql中错误日志、binlog日志、查询日志、慢查询日志简单介绍的更多相关文章
- mysql中删除binlog的方法?mysql中如何删除binlog?
需求描述: 在mysql中如何删除binlog,因为随着数据库的运行,mysql中产生的binlog会越来越大,有可能把磁盘撑爆了,所以记录下删除 binlog的方法. 操作过程: 1.通过系统参数控 ...
- mysql中redo和binlog的区别
影响MySQL中redo的配置参数: innodb_log_file_size:指定每个redo日志大小,默认值48MB innodb_log_files_in_group:指定日志文件组中redo日 ...
- 在MySQL中如何使用覆盖索引优化limit分页查询
背景 今年3月份时候,线上发生一次大事故.公司主要后端服务器发生宕机,所有接口超时.宕机半小时后,又自动恢复正常.但是过了2小时,又再次发生宕机. 通过接口日志,发现MySQL数据库无法响应服务器.在 ...
- MySQL 中Redo与Binlog顺序一致性问题
首先,我们知道在MySQL中,二进制日志是server层的,主要用来做主从复制和即时点恢复时使用的.而事务日志(redo log)是InnoDB存储引擎层的,用来保证事务安全的.现在我们来讨论一下My ...
- MySQL中进行树状所有子节点的查询
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. ...
- MySQL中进行树状所有子节点的查询 . mysql根据父id 查询所有的子id
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. ...
- mysql中如何开启binlog?开启二进制日志文件?binary log?
需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启my ...
- mysql中利用show profile很直观的看到查询缓存的作用。
1.首先,开启mysql的查询缓存. 查看查询缓存情况: MariaDB [test]> show variables like '%query_cache%';+--------------- ...
- Navicat for Mysql中错误提示索引过长1071-max key length is 767 byte
1.建用户信息表 tb_person_info create table tb_person_info( user_id int(10) auto_increment, `name` varchar( ...
随机推荐
- c#中out参数的作用
给你个简单的解释说法吧.虽然不完全对.但是我可以让你理解OUT有什么作用.呵呵 举个例子.每个方法只能有一个返回值.但是你想有多个返回值,呵呵.OUT就起作用了啊.比如分页,不光返回数据,还要返回总记 ...
- sql发送邮件- html 格式
ALTER PROCEDURE dbo.sx_pro_AutoEmailContent AS Begin declare @Rqty int declare @n int declare @m_rec ...
- 迅为iTOP-4418开发板串口虚拟控制台配置为普通串口
如何将 iTOP-4418 的串口控制台配置为普通串口.在最终的产品中,如果需要额外的串口,可以将调试用的控制台串口作为普通串口使用,因为交付给最终用户手中的产品,一般不需要调试串口.屏蔽串口控制台需 ...
- 说说windows10自带浏览器Edge的好与不好
用了10几个月了,正式版也升级了,今天来说说微软自带浏览器microsoft Edge的好与不好 先说好的吧 一,浏览器速度非常快,无论是打开还是关闭,或者是语音助手小娜需要调动浏 ...
- (转)SpringMVC学习(十一)——SpringMVC实现Resultful服务
http://blog.csdn.net/yerenyuan_pku/article/details/72514034 Restful就是一个资源定位及资源操作的风格,不是标准也不是协议,只是一种风格 ...
- java_udp编程
两个重要的类: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/DatagramPacket.html ht ...
- 13C++异常处理
异常处理 14.1.1 异常处理的任务 程序编制者不仅要考虑程序没有错误的理想情况,更要考虑程序存在错误时的情况,应该能够尽快地发现错误,消除错误. 程序中常见的错误有两大类: 语法错误和运行错误.在 ...
- 基于jQuery的用户界面插件集合---EasyUI
easyui是一种基于jQuery的用户界面插件集合.为创建现代化,互动,JavaScript应用程序,提供必要的功能.使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以 ...
- RNN,LSTM,GRU基本原理的个人理解
记录一下对RNN,LSTM,GRU基本原理(正向过程以及简单的反向过程)的个人理解 RNN Recurrent Neural Networks,循环神经网络 (注意区别于recursive neura ...
- Linux安装64位Mysql5.7.22
以安装在/usr/local目录下为例 1.下载安装包地址:https://dev.mysql.com/downloads/file/?id=476936,安装包保存到/usr/local 2.解压: ...