MySQL的biglog文件操作

2023-11-12

一、查看
1、SQL
(1)  查看所有binlog文件
mysql> show binary logs;

(2)  查看binlog内容
mysql> show binlog events in 'mysql-bin.000001';

2、mysqlbinlog
(1)  查看binlog内容,需要先将二进制文件转换成文本文件再查看(也可以加入start-pos、end-pos、start-date、end-date条件)
[root@localhost]# mysqlbinlog /usrl/local/mysql/data/mysql-bin.000001 > /tmp/log.txt
[root@localhost]# vim /tmp/log.txt
(2) 针对单库导出文件
[root@localhost]# mysqlbinlog -d userdb --stop-datetime='2014-01-26 17:03:35' test-150-bin.000003 > /tmp/recover_ivr.sql
(3) 对文件进行内容过滤,只查看增删改的SQL
[root@tmp]$ more recover_ivr.sql |grep  --ignore-case -E 'insert|update|delete' -A2 -B2|grep testtuo > /tmp/recover_ivr_filter.sql
但这里有个问题,例如insert是多行,那么只会显示带有关键字的那一行,因为grep是对单行进行操作的。所以需要把sql中的回车、换行符都换为空格,让sql变为一行,然后使用egrep按需过滤,优化后的语句如下
[root@tmp]$catrecover_ivr.sql | grep -v "#"  | tr "\r\n" " " | tr ";" "\n" | egrep -i "insert.*tm_enterprise_info" | tr "\/*\!*\/" ";" > t.sql


注意:如果binlog为row,需要参数解码:--base64-output=decode-rows -v

[root@localhost]# mysqlbinlog mysql-bin.000005 --base64-output=decode-rows -v > /tmp/mysql5l.sq


二、导入
1、 全文件导入
[root@localhost]# mysqlbinlog /var/log/mysql/mysql-bin.000001  | mysql -uroot –p

2、 按指定位置导入,start-posend-pos
(1)  从文件头开始导入,截至到601
[root@localhost]# mysqlbinlog /var/log/mysql/mysql-bin.000002 --end-pos=601 | mysql -uroot –p 
(2)  从875开始导入
[root@localhost]# mysqlbinlog /var/log/mysql/mysql-bin.000002 --start-pos=875 | mysql -uroot –p 

注意:如下,start就是at 后面的数字,end是end_log_pos后面的数字,并不是start、end都是用的at后面的数字
# at 1148
#150901 14:00:52 server id 2  end_log_pos 1233 CRC32 0xdd81aac0     Query    thread_id=11593    exec_time=0    error_code=0
SET TIMESTAMP=1441087252/*!*/;
DROP DATABASE `db1`
/*!*/;
# at 1233
#150901 14:00:58 server id 2  end_log_pos 1326 CRC32 0xbbc59f3d     Query    thread_id=11593    exec_time=0    error_code=0
SET TIMESTAMP=1441087258/*!*/;
CREATE DATABASE `db1`
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

3、 按时间导入,start-dateend-date
#从该时间开始导入
[root@localhost]#  mysqlbinlog /var/log/mysql/mysql-bin.000001 –start-date=”2005-04-20 10:01:00″ | mysql -uroot -p
#从文件头开始导入,截至到该时间
[root@localhost]#  mysqlbinlog /var/log/mysql/mysql-bin.000001 –end-date=”2005-04-20 10:01:00″ | mysql -uroot -p


三、删除
1、删除某个日志
[root@localhost]#  purge master logs to ‘mysql-bin.0000012′;

2、删除某个时间之前的日志
[root@localhost]#  purge master logs before ’2015-08-25 14:52:09′;

3、删除所有日志
[root@localhost]#  reset master;

4、重新开始一个日志
[root@localhost]#  flush logs;




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL的biglog文件操作 的相关文章

随机推荐

  • 解决docker下载安装速度慢的问题

    1 进入etc docker 目录 root iZwz98nzsodcbigjqrrmxmZ cd etc docker 2 在该目录下新建daemon json文件 registry mirrors https docker mirror
  • git 查看远程分支在不同的终端看到的分支不同的解决方法

    多人协作开发的时候 有时候有很多分支 并且在有些分支在a电脑删除之后 在b电脑查看当前分支 居然还有那个被删除掉了的分支 git fetch prune origin 直接执行这行代码 之后再查看一下远程分支 git branch a a
  • SpringBoot在K8s下实现优雅停机

    在K8s中 当我们实现滚动升级之前 务必要实现应用级别的优雅停机 否则滚动升级时 还是会影响到业务 本文介绍SpringBoot应用实现优雅停机 此次教程基于SpringBoot 2 5 0 1 加入必要依赖
  • 简单理解常量、常量池、运行时常量池和字符串常量池

    1 常量 常量在java中就值的是一般的字面量 比如字符串 整数 浮点数等等数据 简单理解java中什么叫常量 2 常量池 也叫静态常量池或者class文件常量池 说常量池一定要指明是编译器产生的 它的组成为字面量和符号引用 3 运行时常量
  • 决策树模型——鸢尾花分类

    构建一个决策树分类模型 实现对鸢尾花的分类 1 lris数据集介绍 鸢尾花数据集是机器学习领域中非常经典的一个分类数据集 数据集全名为 Iris Data Set 总共包含150行数据 每一行由4个特征值及一个目标值 类别变量 组成 其中4
  • 先进API生产力工具eqable HTTP,一站式开发调试工具推荐

    简介 Reqable是什么 Regable Fiddler Charles Postman Reqable是HTTP一站式开发 调试国产化解决方案 拥有更便捷的体验 更先进的协议 更高效的性能和更精致的界面 Reqable是一款跨平台的专业
  • 【日常积累】HTTP和HTTPS的区别

    背景 在运维面试中 经常会遇到面试官提问http和https的区别 今天咱们先来简单了解一下 超文本传输协议HTTP被用于在Web浏览器和网站服务器之间传递信息 HTTP协议以明文方式发送内容 不提供任何方式的数据加密 如果攻击者截取了We
  • 【Python】类与对象进阶

    类与对象有三大特性 封装 多态和继承 其中类和对象之间也涉及到很多的细节和方法 例如方法的分类 对象的权限等等 所有类和对象的进阶还有很多的知识点需要学习 目录 权限 私有属性和私有方法 继承 单继承 多继承 多态 实例 类与对象的内存理解
  • 利用Python消费RocketMQ消息队列数据

    语言 python3 6 环境 centos 7 1 安装 rocketmq python 地址见 https pypi org project rocketmq pip install rocketmq 2 安装rocketmq clie
  • 【定量分析、量化金融与统计学】R语言:多元线性回归实例

    今天来做一个R语言的多元线性回归的实例 题目是这样的 练习 度假村排名 旅游胜地 专门介绍高级度假和住宿的杂志 Spas 在 读者选择 评选的世界20家独立海滨精品酒店中榜上有名 所显示的数据是这些酒店根据Resorts温泉年度读者选择调查
  • Springboot整合RestTemplate发送http请求

    据技术选型总结常见的三种方式发送http请求 本文介绍Springboot整合RestTemplate发送http请求方式 其他两种如下链接 java原生发送http请求 程序三两行的博客 CSDN博客 HttpClient和OkHttp发
  • java语言简介

    什么是Java语言 一种面向对象的语言 编写程序的开始就是编写类的开始 class 用于定义类 一种平台无关的语言 必须程序运行的解释环境 真正的运行步骤为 javac编译 java解释执行 一种健壮的语言 吸收了C C 语言的优点 但是去
  • Idea安装配置Maven【简述】

    Maven 是一个管理和构建Java项目的工具 它主要的生命周期 编译 测试 打包 发布 Maven项目可以在不同IDE使用 比如 Idea 和 eclipse 他们自身的项目是不能互通的 然而使用Maven构建的项目可以在这两个不同平台使
  • C++ Primer 学习笔记 第四章 表达式

    表达式由运算对象组成 对表达式求值得到一个结果 字面值和变量是最简单的表达式 其结果就是字面值和变量的值 把一个运算符和一个或多个运算对象组合起来可以生成较复杂的表达式 C 定义了一元运算符 二元运算符和三元运算符 作用于一个运算对象的运算
  • oracle语句中截取字符,Oracle中字符串截取最全方法总结

    substr 函数 截取字符串 语法 SUBSTR string start length string 表示源字符串 即要截取的字符串 start 开始位置 从1开始查找 如果start是负数 则从string字符串末尾开始算起 leng
  • 剑指offer:中等部分

    剑指offer 中等部分 001 求1 2 n 求 1 2 n 要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 A B C 示例 1 输入 n 3 输出 6 示例 2 输入 n 9 输出
  • 晶振与软件的关系(深度理解)

    晶振是电路中非常常见的一个元件 常常被人们称为芯片的心脏 确实如此 没有了晶振 可以说一般情况下芯片就无法工作 可编程器件通常来说就是能够通过编程后来执行的芯片 例如各种单片机等等 通常来说我们称软件即是芯片的灵魂 那么如此 作为一个实体的
  • 篮球比赛JAVA代码_Java编程实现NBA赛事接口调用实例代码

    第一步 找别人提供的接口 比如在这里我选择的是聚合数据提供的接口 第二步 要申请相应的AppKey方可使用 此参数会作为接口的参数调用 第三步 调用别人提供的接口方法 代码如下 package juheapi nba Created by
  • MySQL between and 过滤的边界问题

    当数据库字段中存储的是yyyy MM dd格式 即date类型 用between and查询参数yyyy MM dd格式时 包含头尾 相当于x gt y x lt z 当是yyyy MM dd HH mm ss格式 即datetime类型
  • MySQL的biglog文件操作

    一 查看 1 SQL 1 查看所有binlog文件 mysql gt show binary logs 2 查看binlog内容 mysql gt show binlog events in mysql bin 000001 2 mysql