redgate的mysql架构比较和数据比较工具
redgate的mysql架构比较和数据比较工具
最近线上数据需要进行架构比较,比较两个服务器上的mysql实例上数据库的架构
数据比较可以用percona的pt-table-checksum和pt-table-sync,但是这两个工具只能比较数据的异同不能比较架构的异同
网上搜索了一下,只找到redgate的mysql架构比较和数据比较工具
地址:http://www.red-gate.com/products/mysql/mysql-comparison-bundle/
下载了mysql-comparison-bundle之后安装会有两个工具,一个是 MySQL Compare用来比较架构的异同,一个是MySQL Data Compare用来比较数据的异同
MySQL Compare
数据源选项卡

选项选项卡
选项里面两个
1、差异脚本行为
用来生成差异脚本的行为
例如是否包含use database,是否包含脚本头等
2、忽略选项
忽略sql中的注释
约束名
忽略自增列
忽略反引号 backticks
忽略表注释

两边架构相同的情况

两边架构不同的情况





生成的差异脚本以左边的mysql实例为标准

生成的脚本
-- Script generated by MySQL Compare 1.0.1.4 on 2017/6/12 23:40:53 SET @ORIGINAL_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @ORIGINAL_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @ORIGINAL_SQL_MODE=@@SQL_MODE, SQL_MODE='ALLOW_INVALID_DATES,NO_AUTO_VALUE_ON_ZERO,NO_AUTO_CREATE_USER'; SET @ORIGINAL_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @ORIGINAL_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @ORIGINAL_SQL_MODE=@@SQL_MODE, SQL_MODE='ALLOW_INVALID_DATES,NO_AUTO_VALUE_ON_ZERO,NO_AUTO_CREATE_USER'; ALTER TABLE `school`.`tt3`
DROP COLUMN `tid`; SET FOREIGN_KEY_CHECKS=@ORIGINAL_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@ORIGINAL_UNIQUE_CHECKS;
SET SQL_MODE=@ORIGINAL_SQL_MODE;
MySQL Data Compare
数据源选项卡

表格选项卡
如果表没有主键几乎是不能比较的,所以建议所有表都要有主键

可以自己选择比较的字段,也可以用where条件,但是where条件比较鸡肋,要针对所有表的

选项里面两个
1、比较行为
消除末尾空格
2、部署行为
包含部署脚本头
包含架构(数据库)名

两边数据相同的情况

两边数据不同的情况



生成的差异脚本以左边的mysql实例为标准
生成的脚本
SET @ORIGINAL_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=;
SET @ORIGINAL_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=; INSERT INTO `school3`.`tt4` VALUES (, '78pppppppppp'); SET FOREIGN_KEY_CHECKS=@ORIGINAL_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@ORIGINAL_UNIQUE_CHECKS;
f
redgate的mysql架构比较和数据比较工具的更多相关文章
- MySql(十四):MySql架构设计——可扩展性设计之数据切分
一.前言 通过 MySQL Replication 功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到扩展瓶颈.这时候,我 ...
- MySQL架构原理之存储引擎InnoDB数据文件
MySQL架构原理之体系架构 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中简单介绍了MySQL的系统文件层,其中包含了数据文件.那么InnoDB的数据文件是如何分类并存储的呢? 一. ...
- 基于内存,redis,mysql的高速游戏数据服务器设计架构
转载请注明出处,欢迎大家批评指正 1.数据服务器详细设计 数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速获取和修改. 数据层次上分为:内存数据,redis数据,mysql数据 设计目的: ...
- 基于内存,redis,mysql的高速游戏数据服务器设计架构 ZT
zt http://www.cnblogs.com/captainl1993/p/4788236.html 1.数据服务器详细设计 数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速获取和 ...
- 步步深入:MySQL架构总览->查询执行流程->SQL解析顺序
前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来 ...
- MySQL的数据库,数据表,数据的操作
数据库简介 概念 什么是数据库?简单来说,数据库就是存储数据的"仓库", 但是,光有数据还不行,还要管理数据的工具,我们称之为数据库管理系统! 数据库系统 = 数据库管理系统 + ...
- ch2 MySQL 架构组成
第 2 章 MySQL 架构组成 前言 麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从 MySQL 物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL ...
- MySQL架构
一.MySQL逻辑架构 第一层,即最上一层,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等. ...
- mysql笔记01 MySQL架构与历史、Schema与数据类型优化
MySQL架构与历史 1. MySQL架构推荐参考:http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html 2. MySQL会解 ...
随机推荐
- [IR] XML Compression
Ref: https://www.ibm.com/developerworks/cn/xml/x-datacompression/ Language-Equivalent (类似路径压缩 ) root ...
- MFC AfxMessageBox(_T("Please Load Rawdata First !"));
AfxMessageBox(_T("Please Load Rawdata First !"));
- js的微任务和宏任务
1.机制如下: 注意一点: 宏任务需要多次事件循环才能执行完,微任务是一次性执行完的: 2.宏任务macrotask: (事件队列中的每一个事件都是一个macrotask) 优先级:主代码块 > ...
- android基础---->XMl数据的解析
在网络上传输数据时最常用的格式有两种,XML和JSON,下面首先学一下如何解析XML格式的数据,JSON的解析可以参见我的博客(android基础---->JSON数据的解析).解析XML 格式 ...
- day_5.26python面试重点
列表生成式: ''' 2018-5-26 19:40:58 生成器(generator):在Python中,这种⼀边循环⼀边计算的机制. ''' # 第一种实现 :只要把⼀个列表⽣成式的[ ]改成( ...
- python数据类型之字典(一)
>>> dInfo = dict(Wangdachui=3000,Niuyun=2000,Linling=4500,Tianqi=8000) >>> dInfo { ...
- db2pd工具
内容 概览 简介 使用 db2pd 工具 监控的例子 db2pd 工具 用于监控 DB2 实例和数据库的新的 DB2 UDB 工具 简介 DB2 UDB V8.2 带来了一种新工具称为 db2pd,用 ...
- iBatis.Net 配置 SQL语句执行 日志
<configuration> <configSections> ... <sectionGroup name="iBATIS"> <se ...
- 终于知道什么情况下需要实现.NET Core中的IOptions接口
自从接触 IOptions 之后,一直纠结这样的问题:自己定义的 Options 要不要实现 IOptions 接口. 微软有的项目中实现了,比如 Caching 中的 MemoryCacheOpti ...
- MFC实现一元稀疏多项式运算器
MFC实现一元稀疏多项式运算器 基本要求 输入并建立两个多项式 多项式a与b相加,建立和多项式c 多项式a与b相减,建立差多项式d 输出多项式a, b, c, d.输出格式:比如多项式a为:A(x)= ...