MySQL过滤相同binlog_通过Linux命令过滤出binlog中完整的SQL语句

DB:MySQL 5.6.16

CentOS:CentOS release 6.3 (Final)

当insert语句通过空格跨行输入的时候,如何提取完整的insert语句!

创建一个空表:

mysql> create table yoon as select * from sakila.actor where 1=0;

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

查看表名:

mysql> show tables;

+----------------+

| Tables_in_yoon |

+----------------+

| yoon          |

+----------------+

1 row in set (0.00 sec)

查看数据:

mysql> select * from yoon;

Empty set (0.00 sec)

查看表结构:

mysql> desc yoon;

+-------------+----------------------+------+-----+-------------------+-----------------------------+

| Field      | Type                | Null | Key | Default          | Extra                      |

+-------------+----------------------+------+-----+-------------------+-----------------------------+

| actor_id    | smallint(8) unsigned | NO  |    | 0                |                            |

| first_name  | varchar(45)          | NO  |    | NULL              |                            |

| last_name  | varchar(45)          | NO  |    | NULL              |                            |

| last_update | timestamp            | NO  |    | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

+-------------+----------------------+------+-----+-------------------+-----------------------------+

4 rows in set (0.00 sec)

夸行方式插入测试数据:

mysql> insert into yoon

->

-> values

->

-> (1,'YOON','HANK',2006-02-15 04:34:33)

->

-> ;

查看mysql-binlog日志:

[root@hank-yoon data]# ls

auto.cnf            hank      ibdata1  ib_logfile0  ib_logfile2  mysql-bin.000043  mysql-bin.000045  performance_schema  test  yoon.sql

binlog-rollback.pl  hank.sql  ibdata2  ib_logfile1  mysql        mysql-bin.000044  mysql-bin.index  sakila              yoon

将binlog数据转换到yoon.sql:

[root@hank-yoon data]# mysqlbinlog mysql-bin.000045 > yoon.sql

过滤出insert语句:

[root@hank-yoon data]# more yoon.sql | grep --ignore-case -E 'insert' -A2 -B2 | grep yoon > hank.sql

查看insert语句,发现跨行插入的SQL语句截至到insert into yoon就结束:

[root@hank-yoon data]# cat hank.sql

insert into yoon (first_name,last_name) select first_name,last_name from hank

insert into yoon

通过以下命令,可以查看完整的SQL语句,即使是跨行插入,分好(;)都给你带上:

[root@hank-yoon data]# sed  -n  "/insert into yoon/,/;/p"  yoon.sql  |sed  's#\/\*!\*\/##'

insert into yoon (first_name,last_name) select first_name,last_name from hank

;

insert into yoon

values

(1,'YOON','HANK','2006-02-15 04:34:33')

;

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

●SQL编程

局部变量局部变量必须以 开头,而且必须先用DECLARE 命令说明后才可使用。使用SELECT 或SET 命令来设定变量的值。说明形式:DECLARE 变量名 变量类型 [ 变量名 变量类型]SELECT 局部变量 变量值SET 局部变量 变量值例:declare name varchar(2…

mysql to char 用法_postgresql 中的to_char()常用操作

postgresql中的to_char()用法和Oracle相比,多了一个参数。to_char(待转换值,转换格式);常用转换格式有2种:一个是写若干个0,如果待转换的值位数少于于你定义的转换格式位数,输出值会自动在左边补0,位数补齐…

mysql 数据库名称限制_mysql 数据库名称限制

mysql 数据库名称限制云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便…

Chrome 控制台指南

转自:http://blog.jobbole.com/76985/ Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效: 更高「逼格」更快「开发调试」更强「进阶级的Frontender」Bug无处遁形「Console大…

开发实战细节之——关于整型转换为字符串类型的性能与实现分析

细节决定成败,开发中往往从一些细节就可以看出一个程序员的开发水准,下面我就给大家分享一下开发中最最常见的int转换为String类型的方法及其性能解析。 一般大家最常用的方法有 方法一:String s1 String.valueOf(i); 方法二:St…

《黑客大曝光:移动应用安全揭秘及防护措施》一2.2 攻击与对策

本节书摘来自华章出版社《黑客大曝光:移动应用安全揭秘及防护措施》一书中的第2章,第2.2节,作者 (美)Neil Bergman ,更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.2 攻击与对策 好&#xff0c…

jdbctemplate mysql 配置_Spring JDBCTemplate配置使用

一、开发环境Windows 10IntelliJ IDEA 2016.1 旗舰版JDK1.8二、项目和数据库结构项目结构:数据库(MySQL 5.5.39):/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50539Source Host : localhost:3306Source Database : …

多线程(同步代码块和同步函数)

线程安全问题 当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完, 另一个线程参与进来执行。导致共享数据的错误。解决办法: 对多条操作共享数据的语句,只能让一个线程都执行…

Hibernate 事物隔离级别 深入探究

目录 一、数据库事务的定义 二、数据库事务并发可能带来的问题 三、数据库事务隔离级别 四、使用Hibernate设置数据库隔离级别 五、使用悲观锁解决事务并发问题 六、使用乐观锁解决事务并发问题 Hibernate事务与并发问题处理(乐观锁与悲观锁) 一、数据库…

mysql 无论输入什么都是现实 not found_NotAPanda

前言面试竞争力越来越大,是时候撸一波Vue和React源码啦;本文从20个层面来对比Vue和React的源码区别;如果需要了解API的区别,请戳:Vue 开发必须知道的 36 个技巧React 开发必须知道的 34 个技巧文章源码:请戳…

这五张PPT告诉你,如何打造无人驾驶“最强大脑”

“英特尔在谈无人驾驶,会成为汽车制造商吗?NO!我们要为无人驾驶提供从车、连接到云的‘最强大脑’。” 在昨天于北京举行的英特尔无人驾驶分享会上,英特尔无人驾驶事业部中国区市场总监徐伟杰在主旨演讲中开门见山。 这也是英特尔无人驾驶事业部去年11月…

python的datetime举例_Python datetime模块的使用示例

1、获取当前年月日时分秒# -*- encodingutf-8 -*-import datetimenow datetime.datetime.now()print("now:{}".format(now))year now.yearprint("year:{}".format(year))month now.monthprint("month:{}".format(month))day now.dayprint(&q…

vs2015 去除 git 源代码 绑定,改成向tfs添加源码管理

除了下文的方法是将源码管理从git改成tfs之外,还要做以下几步即可 向tfs添加源码 打开源码管理(管理连接),双击打开你要向其中添加的tfs连接选中该解决方案,右键 将解决方案添加到源码管理嵌入完毕vs2015 去除 git 源代码 绑定 第一次碰到这个…

《日志管理与分析权威指南》一2.3 良好日志记录的标准

本节书摘来华章计算机《日志管理与分析权威指南》一书中的第2章 ,第2.3节,(美) Anton A. Chuvakin Kevin J. Schmidt Christopher Phillips 著 姚 军 简于涵 刘 晖 等译更多章节内容可以访问云栖社区“华章计算机”公众号查…

Python【01】【基础部分】- A

一、WHATS PYTHON ? 1、python 简介 Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件&#xff0…

Finished yeah!

终于到了最后的博客阶段,这时候才知道博客此时此刻是多么的惬意,它成了书写心声的自由平台!耗时一天完成这作业说起来也是蛮辛苦的,编译器需要新装,IDE需要熟悉,当然最主要的是之前浅入浅出的C功底在此次作…

Tomcat性能调优

1、集成apache 虽然Tomcat也可以作web服务器,但是处理静态html的速度比不上apache,且其作为web服务器的功能远不如Apache,因此把apache和tomcat集成起来,讲html和jsp功能部分进行明确的分工,让tomcat只处理jsp部分&…

河南推出近万亿PPP投资计划 郑州实现智慧城市全覆盖

1 近万亿PPP项目启动 眼下,国内财经新闻的热点聚焦在PPP开发上,这与PPP支撑国内经济平衡运行的一支强劲力量正被政府看好。就连二级市场也出现了PPP概念的抢筹现象。 9月27日,股市再一次遭遇抛售,大盘创出阶段性新低,然…

Loadrunner多服务器连接问题

今天用想增加一个压力机,在服务器管理列表里怎么也连不上,后来解决方法如下:1. 关闭所有loadrunner组件,并手动结束lr_开头的进程2.找到惠普loadrunner安装目录(C:\Program Files\HP\LoadRunner\bin),手动运行magentproc.exe即可最新内容请见作者的GitHub页:http://…

物联网安防技术融合在细分领域的应用分析

物联网的核心是业务和应用的创新。物联网技术与智能化技术的深度融合,加快了行业的智能化发展,促使了行业需求在应用层上的落地。安防技术架构是物联网架构的一个子集,传统安防是一个相对保守的行业。现代安防和物联网在业务和技术上的融合发…