MySQL第五天——日志
日志
- log_error(错误日志)
- 用于记录 MySQL 运行过程中的错误信息,如,无法加载 MySQL数据库的数据文件,或权限不正确等都会被记录在此。
 - 默认情况下,错误日志是开启的,且无法禁止.
 - 默认情况下,错误日志存储在数据库的数据文件目录下,名称为hostname.err,其中hostname为服务器主机名.
 - 在MySQL5.5.7之后,不允许删除错误日志,只能使用重命名原来的日志文件,再手动冲洗日志创建一个新的.命令如下:
mv hostname.err hostname.err.oldbak
mysqladmin flush-logs
 
 - general_log 查询日志(通用日志)
- 查询日志实际上记录了数据库执行的所有命令,不管语句是否正确.
 - 查询日志的作用是帮助我们分析哪些语句执行密集,执行密集的select语句对应的数据是否能够被缓存,同时也可以帮助我们分析问题.
 - 查询日志默认是关闭的,可以通过以下命令来开启查询日志:
 
set global general_log=1 set global logoutput='tabel'
--1为开启查询日志,0为关闭查询日志,这个命令设置后立即生效,不用重启MySQL.
 - query log(慢查询日志)
- 慢查询会导致CPU/IOPS/内存消耗过高,当数据库遇到性能瓶颈时,大部分时间都是由于慢查询导致的.开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,之后运维人员通过定位分析,就能够很好的优化数据库功能.
 - 默认情况下, 慢查询是不开启的,只有手动开启了,慢查询才会被记录到慢查询日志中.
 - 开启方式1: 临时开启
 
set global slow_query_log='ON'
-- 只对当前数据库有效,且如果MySQL重启后就会失效.
- 开启方式2: 永久开启
如果要永久生效,就要修改配置文件my.cnf,设置slow-query-log=1并重启MySQL. 
 - redo log(重做日志) 具体详情
- 为了避免数据写入时,因IO操作太频繁出现性能问题,MySQL采用了先将数据写入内存,再批量刷入磁盘的机制.
 - 相关设置
 
innodb_flush_log_at_trx_commit 变量取值012,默认为1,三种情况用来控制commit动作是否将log buffer刷入到磁盘里.
 
innodb_flush_log_at_timeout 秒数,表示刷日志的频率.
```
5. undo log(回滚日志)
- 用于存储日志被修改前的值,从而保证如果修改如果出现异常,可以使用undo log日志来实现回滚操作.
- undo log是逻辑日志,可以认为当delete一条记录时,会记录一条对应的insert记录,当执行rollback的时候,可以从undo log中的逻辑记录中读取相应的内容进行回滚.
6. bin log(二进制日志)
- 一个二进制文件,记录所有数据库表结构变更及表数据修改,及语句发生时间,执行时长,操作数据等其他额外信息.但它不记录SELECT/SHOW等不修改数据的SQL语句.
MySQL第五天——日志的更多相关文章
- MySQL系列(五)--二进制日志对主从复制的影响
		
MySQL复制是基于主库上的二进制日志来完成,复制是异步的,可能存在延迟 MySQL日志分为: 1.服务层日志:二进制日志.通用日志.慢查日志 2.存储引擎层日志:innodb中重做日志和回滚日志 二 ...
 - 我的MYSQL学习心得(十五) 日志
		
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
 - 别人的的MYSQL学习心得(十五) 日志
		
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
 - Mysql: mysqlbinlog命令查看日志文件
		
想查看mysql的binlog文件,但是裸的binlog文件是无法直视的,mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysq ...
 - MySql(五)SQL优化-优化SQL语句的一般步骤
		
MySql(五)SQL优化-优化SQL语句的一般步骤 一.优化SQL语句的一般步骤 1.1 通过show status命令了解各种SQL的执行频率 1.2 定位执行效率较低的SQL语句 1.3 通过e ...
 - mysql开启慢查询日志及查询--windows
		
MySQL慢查询配置 1. 慢查询有什么用? 它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 2. 如何开启慢查询? ...
 - PHP慢脚本日志和Mysql的慢查询日志
		
1.PHP慢脚本日志 间歇性的502,是后端 PHP-FPM 不可用造成的,间歇性的502一般认为是由于 PHP-FPM 进程重启造成的. 在 PHP-FPM 的子进程数目超过的配置中的数量时候,会出 ...
 - Mysql数据库之Binlog日志使用总结
		
binlog二进制日志对于mysql数据库的重要性有多大,在此就不多说了.下面根据本人的日常操作经历,并结合网上参考资料,对binlog日志使用做一梳理: 一.binlog日志介绍1)什么是binlo ...
 - PHP慢脚本日志和Mysql的慢查询日志(转)
		
1.PHP慢脚本日志 间歇性的502,是后端 PHP-FPM 不可用造成的,间歇性的502一般认为是由于 PHP-FPM 进程重启造成的. 在 PHP-FPM 的子进程数目超过的配置中的数量时候, ...
 
随机推荐
- 深入理解Spring(一):初识Spring
			
深入理解Spring(一):初识Spring 一. Spring介绍 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...
 - 【转】vux (scroller)上拉刷新、下拉加载更多
			
1)比较关键的地方是要在 scroller 组件上里加一个 ref 属性 <scroller :lockX="true" height="-170" :p ...
 - C++用参数返回结果与用返回值返回结果的思考
			
/*** *xvkBuffer作为参数比写为返回值的好处是: *1,xvkBuffer可以是堆变量或栈变量,若写为返回值则只能是堆上申请,因为必须保证它的永久性 *2,xvkBuffer或作为栈变量返 ...
 - 【洛谷P5018 对称二叉树】
			
话说这图也太大了吧 这题十分的简单,我们可以用两个指针指向左右两个对称的东西,然后比较就行了 复杂度O(n*logn) #include<bits/stdc++.h> using name ...
 - 架构-层-DAL:DAL
			
ylbtech-架构-层-DAL:DAL DAL是数据访问层的英文缩写,即为数据访问层(Data Access Layer).其功能主要是负责数据库的访问.简单地说就是实现对数据表的Select(查询 ...
 - 无障碍(Accessible Rich Internet Applications)
			
可访问性就是让你的网站能够尽可能为越来越多的人可用的做法,这意味着需要竭尽全力不要将任何访问信息的人挡在门外,仅仅因为他们可能有某些方面的残疾或者因为某些个人情况例如他们正在使用的设备.他们的网速.或 ...
 - 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_9_字节输入流读取字节数据
			
硬盘读取到内存 read值会读一个字节 a.txt里面a变成整数就是97 读取到末尾,返回-1 再读一次还是-1 读取的代码是重复的.可以使用循环去读取.while循环. 转行成char类型的 ...
 - uni-app-小程序中组件不支持id选择器等
			
这个问题刚开始遇到的时候有点搞笑啰,正常情况下,id选择器不是最正常的吗?搞锤子哦. 接着我就找度娘了 ,官网给出的解释是:https://developers.weixin.qq.com/mini ...
 - vue组件兄弟间通信
			
四.兄弟组件间通信(event) 借助于一个公共的Vue的实例对象,不同的组件可以通过该对象完成事件的绑定和触发 var bus = new Vue(); bus.$emit()bus.$on() 熊 ...
 - String类为什么是final
			
String 本身一个对象,对象在jvm启动的时候就要实例化和其他类调用就要实例化,第一性能,第二安全,因为string的高频繁的使用,如果被继承,哪里性能将会大大降低,因为不能被继承,换句话来说就比 ...