mysqlbinlog 使用简介

mysqlbinlog常用于binlog导出分析及mysql数据恢复。

下面有一些常用选项,简单介绍一下。

--base64-output=name

决定binlog输出格式选项

‘never‘选项

不输出Sql语句格式

‘decode-rows‘ 选项

将输出语句格式转换为注释的SQL语句格式,因为binlog日志现在大部分都是rows日志,不是语句日志,所以转换语句输出也只是rows变更的语句,不是当时输入的sql语句。

如果没有 --base64-output[=name] 选项,默认给出全部格式,默认是 ‘auto‘。

·自动 ("auto") 或未指定 ("UNSPEC") 将自动显示 BINLOG 语句所有格式(即二进制格式和语句格式)。

如果没有--base64-output 选项给出的效果与 --base64-output=AUTO 相同。

--start-datetime=name

开始读取binlog日志的指定时间,时区是日志本地时区,时间格式例子‘2016-12-25 11:25:56 ’(要使用引号,避免shell里识别出错。)

--stop-datetime=name

停止读取binlog日志的指定时间,时区是日志本地时区,时间格式例子‘2016-12-25 11:25:56 ’(要使用引号,避免shell里识别出错。)

--start-position=#

开始读取 binlog 日志在 指定position号码. 读取范围更精准,可以避免时区错误,恢复数据时建议使用。

--stop-position=#

停止读取 binlog 日志在 指定position号码. 读取范围更精准,可以避免时区错误,恢复数据时建议使用。

-v    从行事件中重建伪 sql 语句。

-vv  从行事件中重建伪 sql 语句,添加对数据类型的注释。

--database=name

指定导出的数据库

--skip-gtids

输出时忽略全局事物ID号码。

导出时间范围内的binlog日志,从行事件中重建伪sql 语句,使用Sql语句编码,如果有多个binlog文件,后续使用>>添加到导出文件,尽量使用绝对路径。

mysqlbinlog -v --base64-output=decode-rows --start-datetime=‘2016-12-25 11:25:56‘ --stop-datetime=‘2016-12-25 11:59:59‘ binlogname > filename.sql

捉取准确的position号码范围,导出sql文件。

mysqlbinlog --start-position=10000 --stop-position=20000 binlogname > filename.sql

mysql进行数据导入。

mysql -u‘user‘ -p‘password‘ < filename.sql #危险操作!!!

参考资料:

1,RDS Mysql中binlog日志查看  https://help.aliyun.com/knowledge_detail/41709.html

2,mysqlbinlog官方手册 https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html

时间: 2024-11-08 11:47:43

mysqlbinlog 使用简介的相关文章

【MySQL】mysqlbinlog相关简介

binlog简介:二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中.作用:MySQL的作用类似于Oracle的归档日志,可以用来查看数据库的变更历史(具体的时间点所有的SQL操作).数据库增量备份和恢复(增量备份和基于时间点的恢复).Mysql的复制.开启:show variables like '%log_bin%'; 可查看是否开启方法一.修改my.cnf参数文件,该方法需要重启log-bin=mysql-bin #打开日志(主机需要打开),这个mysql-

第二课——解析mysqldump命令和mysqlbinlog命令+innodb和Myisam存储引擎简介

环境说明 mysql版本:Percona-Server-5.6.30 IP:10.7.15.167 端口:3306 安装目录:/httx/run/mysql 数据目录:/httx/run/mysql/data/ mysqldump的常用参数 mysqldump测试--–研究加–single_transaction参数的区别 开启general_log日志,跟踪mysql操作日志 (general_log日志可以方便跟踪所有mysql上的操作,但是生产环境不建议开启,占用资源.消耗内存) mysq

mysqlbinlog的日志类型

一.mysqlbinlog简介 binlog又叫二进制日志文件,它会将mysql中所有修改数据库数据的Query以二进制的形式记录到日志文件中,如:create,insert,drop,update等;(对于select操作则不会被记录到binlog里,因为它并没有修改数据库的数据).binlog一般存储在数据目录下,并且命名为:mysql-bin.***(这个可以在配置文件中修改my.cnf:log-bin=mysql-bin,就是文件名的前缀:mysqld在每个 binlog 名后面添加一个

mysqlbinlog flashback 5.6版本

下载地址 http://pan.baidu.com/s/1eQW9zSQ 如有疑问请联系微信:onesoft007 简介 DBA或者开发人员,有时会误删除或者误更新数据.传统的数据库恢复方法是利用之前的备份再加上误操作之前的binlog,来恢复数据.该方法需要耗费较长时间来恢复备份,甚至需要停机维护,严重降低系统的可用性. MySQL的flashback功能是由淘宝的彭立勋,在MySQL-5.5.18的基础上开发的.随着binlog格式的变动和类型的增加,基于5.5.18的版本,无法用于目前主流

每天进步一点点——mysql——mysqlbinlog

一.        简介 mysqlbinlog:用于查看服务器生成的二进制日志的工具. 二.       命令格式 mysqlbinlog 选项日志文件1 日志文件2 三.       常用参数 -d--database=name:指定数据库名称,只列出指定数据库相关操作 -o--offset=#:忽略掉日志中前N行命令 -r--result-file=name:将输出的文本格式日志输出到指定文件 -s--short-form:显示简单格式忽略掉一些信息 --set-charset=char-

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

微信红包的架构设计简介

@来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信的金额什么时候算? 答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.. 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低. 实时性:为什么明明抢到红包,点开后发现没有? 答:2014年的红包一点开就知道金额,分两次操作

JSON 简介

ylbtech-JSON: JSON 简介 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似 XML. JSON 比 XML 更小.更快.更易解析. JSON 实例 { "employee":[ {"firstName":"John","lastName":"Doe"}, {"firstName"

Docker简介

Docker简介 什么是Docker: 正所谓Docker的英文本意为"搬运工",所以在我们的世界里,可以理解为Docker搬运的是装满任意类型的APP的集装箱,开发者可以通过Docker将APP变成一种标准化的.可移动植的.自动管理的组件.它用一种新的方式实现了轻量级的虚拟机,专业术语成为应用容器(Application Container) Docker的优势: 1.利用率高 ·Docker对系统资源的利用率很高,一台主机可以同时运行数千个Docker容器 2.可以快速的交付应用程