mysql的binlog和slow_log慢日志
redo undo 锁
-----------------------------------------
日志管理 log-error=/var/log/mysql.log 二进制日志的“总闸”
作用:
1、是否开启
2、二进制日志路径/data/mysql/
3、二进制日志文件名前缀mysql-bin
4、文件名以"前缀".000001~N
log-bin=/data/mysql/mysql-bin 二进制日志的“分开关”
只有总闸开启才有意义,默认是开启状态。
我们在有些时候会临时关闭掉。
只影响当前会话。
sql_log_bin=1/0 二进制日志的格式
statement,语句模式:
记录信息简洁,记录的是SQL语句本身。但是在语句中出现函数操作的话,有可能记录的数据不准确。
5.6中默认模式,但生产环境中慎用,建议改成row。 row,行模式
表中行数据的变化过程。
记录数据详细,对IO性能要求比较高
记录数据在任何情况下都是准确的。
生产中一般是这种模式。
5.7以后默认的模式。 mixed,混合模式 经过判断,选择row+statement混合的一种记录模式。
一般不用。 binlog的查看方式:
1、查看binlog原始信息
[root@db01 mysql-5.6.36]# mysqlbinlog mysql-bin.000001
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; mysqbin mysql-bin.000002 2、在row模式下,翻译成语句
mysqlbinlog --base64-output='decode-rows' -v mysql-bin.000002 3、查看binlog事件
show binary logs; 所有在使用的binlog信息 show binlog events in '' 4、如何截取binlog内容,按需求恢复(常规思路)
(1)、show binary logs; show master status;
(2)、show binlog events in '' 从后往前看,找到误操作的事务,判断事务开始position和结束position
(3)、把误操作的剔除掉,留下正常操作到2个sql文件中
(4)、先测试库恢复,把误操作的数据导出,然后生产恢复。 遇到的问题:
1、时间长
2、对生产数据有一定影响,有可能会出现冗余数据
3、 有什么好的解决方案。
1、flashback闪回功能(扩展)
2、通过备份,延时从库 --------------------------------
SET GLOBAL expire_logs_days = 7; PURGE BINARY LOGS BEFORE now() - INTERVAL 3 day; PURGE BINARY LOGS TO 'mysql-bin.000010'; reset master
------------------------
慢日志 slow log 调优过程中的工具日志。 统计收集慢得语句 ------ 设定慢查询的阀值,超出次设定值的SQL即被记录到慢查询日志,缺省值为10s,现有版本可以指定零点几秒
long_query_time
指定是否开启慢查询日志
slow_query_log
指定慢日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log
slow_query_log_file
查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
min_examined_row_limit
不使用索引的慢查询日志是否记录到索引
log_queries_not_using_indexes 慢日志扩展:
Anemometer实现pt-query-digest 图形化
https://www.cnblogs.com/xuanzhi201111/p/4128894.html
mysql的binlog和slow_log慢日志的更多相关文章
- 解说mysql之binlog日志以及利用binlog日志恢复数据
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...
- mysql通过binlog日志来恢复数据
简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...
- MYSQL的binlog日志
binlog 基本认识 MySQL的二进制日志以事件形式,记录了所有的DDL和DML(除了数据查询语句)语句,及语句执行消耗时间. MySQL的二进制日志是事务安全型的,是MySQL最重要的日志. b ...
- mysql清理binlog日志
mysql的binlog日志过多过大,清理过程. 1.查看binlog日志 mysql> show binary logs; +------------------+-----------+ | ...
- Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...
- mysql关于binlog日志的操作
查看binlog日志选项和存储位置: mysql> show variables like 'log_%'; 1.查看所有binlog日志列表 mysql> show master log ...
- MySQL的binlog日志<转>
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日 ...
- (4.7)mysql备份还原——深入解析二进制日志(3)binlog的三种日志记录模式详解
关键词:binlog模式,binlog,二进制日志,binlog日志 目录概述 0.binlog概述 查看binlog日志参数设置: show variables like '%log_bin%'; ...
- (4.6)mysql备份还原——深入解析二进制日志(2)binlog参数配置解析
关键词:binlog配置,binlog参数,二进制日志配置,二进制文件参数配置 关键词:binlog缓存,binlog 刷新 0.bin写入流程 写binlog流程如下:# 数据操作buffer po ...
随机推荐
- Xcode8 不能显示blame,show blame for line 灰色不可点解决办法
1.原因 创建工程时没勾选create git repository 2.解决办法 ➜ ~ cd /Users/zhanglinfeng/Documents/EastMoney/EMLive / ...
- 【sql】sql优化
sql优化: 1.最左前缀原则 如果contact表上的tenement_id列创建了索引,那么查询的时候将索引列放在最左边,查询的速度会快很多,因为扫描的范围是索引范围而不是整张表范围!! SELE ...
- Android2017进阶知识点、面试题及答案(精选版)
前言 没啥好说的,撸起袖子就是干吧! 1 2 JAVA 相关 1.静态内部类.内部类.匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它? 静态内部类:使用static修饰的内 ...
- Spark(八) -- 使用Intellij Idea搭建Spark开发环境
Intellij Idea下载地址: 官方下载 选择右下角的Community Edition版本下载安装即可 本文中使用的是windows系统 环境为: jdk1.6.0_45 scala2.10. ...
- Kinect 1.8 体感开发,手势,姿态(Pose) 捕捉判断方法以及一些辅方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [Functional Programming] Combine Multiple State ADT Instances with the Same Input (converge(liftA2(constant)))
When combining multiple State ADT instances that depend on the same input, using chain can become qu ...
- 我的superui开源后台bootstrap开发框架
我的superui开源后台bootstrap开发框架:http://git.oschina.net/tzhsweet/superui
- Python——标准库 Sys模块
---------------------------------------------------------------------------------------------------- ...
- ERROR: ld.so: object '/usr/lib64/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded: ignored
出现错误: ERROR: ld.so: object '/usr/lib64/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded: ignore ...
- JAVA 的IO操作实例
实例要求: 1,加法操作: 键盘输入两个数字,完成加法操作.因为从键盘接收过来的内容都是通过字符串形式存放的,所以此时直接通过包装类 Integer将字符串变为基本数据类型. 2,菜单显示: 采用的知 ...