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( ...
随机推荐
- AIX 10G HA RAC卸载
删除 1:crs_stat –t资源都停掉 2:停ha 3: 删除oracle 4:删除crs 5: 删除ha smit hacmp 6: 删除vg exportvg 7;卸载hacmp smitty
- codeforces_1066_B.Heaters
题意:一个数组只含有0或1,1表示该元素可以覆盖其自身.左边r-1个元素和右边r-1个元素,问最少保留多少个1元素可以覆盖整个数组. 思路:一个指针指向当前未被覆盖的最左边的元素下标,每次找离它最远且 ...
- at, batch, atq, atrm - 排队、检查或删除以后要执行的作业
总览 at [-V] [-q 队列] [-f 文件] [-mldbv] 时间 at -c 作业 [作业...] atq [-V] [-q 队列] [-v] atrm [-V] 作业 [作业...] b ...
- win下配置qt creator 能够执行c/c++
首先需要相关包共四个: qt-win-opensource-4.8.5-mingw.exe qt-creator-windows-opensource-2.8.1.exe MinGW-gcc440_1 ...
- Jenkins总结(ant+jmeter+java)
1.jdk与ant都需要在Jenkins-->系统管理-->全局工具配置里面配置各自的安装目录 2.修改Jenkins配置文件后,通过命令行重启: source /etc/profile ...
- -- HTML标记大全参考手册[推荐]
-- HTML标记大全参考手册[推荐]总类(所有HTML文件都有的) 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE>&l ...
- 笔试算法题(58):二分查找树性能分析(Binary Search Tree Performance Analysis)
议题:二分查找树性能分析(Binary Search Tree Performance Analysis) 分析: 二叉搜索树(Binary Search Tree,BST)是一颗典型的二叉树,同时任 ...
- [Python3网络爬虫开发实战] 1.2.4-GeckoDriver的安装
上一节中,我们了解了ChromeDriver的配置方法,配置完成之后便可以用Selenium驱动Chrome浏览器来做相应网页的抓取. 那么对于Firefox来说,也可以使用同样的方式完成Seleni ...
- 开发基本的php框架
github路径:https://github.com/zhengchuzhou/easyPhpFramework 一.目录结构及用途 二.相关代码: 1.入口文件(index.php): <? ...
- PHP:Mysql 基础类
文章来源:http://www.cnblogs.com/hello-tl/p/7592547.html <?php /** * __construct($Mysql_config) 构造函数 $ ...