mysql 几种日志
mysql 5.5 有以下几种日志:
中继日志( relay log)
认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制
mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin
flush-logs或mysqladmin refresh时,出现日志刷新
than.
查询日志 general query log
query log写入日志是在客户端执行命令,并且释放锁之前,写入日志
than.
long_query_time 指定时间的sql statement , min_examined_row_limit最小检查行数限制
才会被检查,语句被写入slow log 是在语句被执行后,并且释放锁之前,默认情况下,慢查询日志是被关闭的
long_query_time 的值被设置为0-10之间,默认值是10.
:系统管理语句
就在慢查询日志中. 系统管理语句包括 ALTER TABLE, ANALYZE
TABLE, CHECK TABLE, CREATE
INDEX, DROP INDEX, OPTIMIZE
TABLE, and REPAIR TABLE.
log,从而导致slow log文件的大小不断增加,故DBA可通过此参数进行配置。
a
replication slave does not write replicated queries to the slow query log. To change this, use thelog_slow_slave_statements system
variable.
之前开启慢查询
eg:
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -t 10 -s t -g “left join” host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。
显示指定,mysql会忽略正对其他书库执行query,而仅仅记录正对指定数据库执行的query
binlog-do-db=db_name 指定保存更新到 binlog 的数据库
参数 有一个共同的概念,参数db_name 不是指query
语句更新的数据所在的数据库,而是执行query的时候,当前所处的数据库。不论更新那个数据库的数据,mysql仅仅比较当前连接所处的数据库与参数设置的数据库名。而不会分析query语句所更新的数据库所在数据库。
sync_binlog:
Log-slave-update该参数在搭建master=>slave=>slave的架构时,需要配置。
log-bin = /var/log/mysql/mysql-bin.log --指定二进制日志的名称
由于binlog以是binary方式存取,不能直接查看,需要用mysql提供的mysqlbinlog工具查看
show binlog events \G只能查看第一个日志的events
show binlog events in 'mysql-bin.000003';可以查看具体位置日志的events
2. mysql> purge master logs to 'mysq-bin.******' 命令可以删除指定编号前的所有日志
4. 在my.cnf 中指定日志过期 expire_logs-days=n
Binlog_format参数也特别重要。从mysql5.1版本开始引入这个参数,该参数可以设置的值有STATEMENT\、ROW、MIXED;
(1)STATEMENT格式和之前的mysql版本一样,二进制日志文件记录的是日志的逻辑失SQL语句。
(2)在ROW格式下,二进制日志记录的不再是简单的SQL语句了,而是记录表的行更改情况,此时可以将InnoDB的事务隔离基本设为READ COMMITTED,以获得更好的并发性。
(3)MIXED格式下,mysql默认采用的STATEMENT格式进行二进制日志文件的记录,但是在一些情况下会使用ROW格式,可能的情况包括:
1)表的存储引擎为NDB,这时对于表的DML操作都会以ROW格式记录
2)使用了UUID()、USER()、CURRENT_USER()、FOUND_ROWS()、ROW_COUNT()等不确定函数
3)使用了INSERT DELAY语句
4)使用了用户定义函数
5)使用了临时表
mysql> show variables like "%binlog_format%"
relay log)
中继日志也是二进制日志,用来给slave 库恢复
6 innodb 在线redo 日志 innodb redo log
innodb 是一个事物安全的存储引擎,其事物安全性主要通过在线的redo日志和记录在表空间的undo信息来保证。redo
日志中记录了innodb所做的所有物理变更和事物信息。innodb的redo日志同样默认存放在数据目录下面。可以通过innodb_log_group_home_dir
来更改日志的存放位置。
总结:
日志直接性能损耗数据库系统中最为昂贵的IO 资源,在默认情况下,系统仅打开错误日志,关闭了其他所有日志,以达到尽可能减少IO 损耗提高系统性能的目的。
测试环境中,为了定位某些功能具体使用了哪些SQL 语句的时候,才会在短时间段内打开该日志来做相应的分析。所以,在MySQL 系统中,会对性能产生影响的MySQL日志(不包括各存储引擎自己的日志)主要是Binlog 。
mysql 几种日志的更多相关文章
- Mysql三种日志(binlog,redolog,undolog)的作用和区别
Mysql有三种很重要的日志也是面试经常涉及到的考点,分别是 binlog .redo log和undo log, 这里面binlog 是server层实现的日志,而redo log 和undo lo ...
- MySQL 4种日志
- mysql中的日志
关键词:mysql日志,mysql四种日志 一.mysql日志的种类 (1)一般来说,日志有四种,分别为: 1.错误日志:log-err (记录启动,运行,停止mysql时出现的信息) 2.二进制日志 ...
- mysql中的几种日志了解
前言 MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slo ...
- mysql中有多少种日志
Mysql的日志包括如下几种日志: 错误日志 普通查询日志 二进制日志 慢查询日志 Mysql版本 此文档测试mysql的版本为 mysql -V 错误日志 error log Mysql错误日志主要 ...
- MySQL不会丢失数据的秘密,就藏在它的 7种日志里
本文收录在 GitHub 地址 https://github.com/chengxy-nds/Springboot-Notebook 进入正题前先简单看看MySQL的逻辑架构,相信我用的着. MySQ ...
- mysql常见的5种日志
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 错误日志(errorlog) 用来记录mysqlId的错误信息,如数据库 ...
- MySQL慢查询日志总结
慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...
- 解说mysql之binlog日志以及利用binlog日志恢复数据
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...
随机推荐
- Python中自定义filter用法
django中新建项目,在项目中新建app,自定义filter一般放到app中.结构目录如下: 1.先在APP中新建一个templatetags的django文件夹,文件夹中新建一个filter的py ...
- context使用
1. 概述 go语言中goroutine之间的关联关系,缺乏维护,在erlang中有专门的机制来保障新开协程的生命周期,在go语言中,只能通过channel + select来实现,但不够直观,很绕. ...
- 关于springMVC的细节
1. Controller的生命周期 Spring框架默认创建的对象是单例.所以业务控制器是一个单例对象. 单例对象带来的问题,就是请求的数据如果放在成员变量上面,会相互影响. 请求使用同一个对象处理 ...
- oracle 表空间管理相关(原创)
通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...
- top命令详解不完整的地方欢迎评论
第一行: top - 20:42:47 up 57 days, 1:25, 4 users, load average: 0.00, 0.00, 0.00 现在时间20:42:47,启动了57 ...
- Docker Swarm Mode 学习笔记 (基本概念)
Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具 节点 运行 Docker 的主机可以主动初始化一个 Swarm 集群 docker swarm ...
- 动态 DP 学习笔记
不得不承认,去年提高组 D2T3 对动态 DP 起到了良好的普及效果. 动态 DP 主要用于解决一类问题.这类问题一般原本都是较为简单的树上 DP 问题,但是被套上了丧心病狂的修改点权的操作.举个例子 ...
- PHP 获取当前访问的完整URL
代码如下: <?php // php 获取当前访问的完整url function GetCurUrl() { $url = 'http://'; if(isset($_SERVER['HTTPS ...
- C语言--第1次作业2.0版
1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 经过一周C语言的正式课堂学习,不同于暑期时扒视频囫囵吞枣式学习,林丽老师的讲解详细异常,尽管已经学习了一部分内 ...
- 1px解决方案--集锦
没有废话,直接上代码 汇聚各种版本,持续更新中.... 1.sass @charset "utf-8"; /** * @module 背景与边框 * @description 为元 ...