- 浏览: 7851546 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:123456@192.168.79.10 --server2=admin:123456@192.168.79.11
--difftype=differ test:test
这样就比较两个不同库中的数据库test,假设两个库中库名都是test
也可以比较不同的表
mysqldiff --server1=user@host1 --server2=user@host2 testdb.table1:anotherdb.anothertable
就是使用库名.表名的方式就可以了
下面是出来的一个效果
# mysqldiff --force --server1=root:msandbox@127.0.0.1:21489 --server2=root:msandbox@127.0.0.1:21490 employees:employees
# WARNING: Using a password on the command line interface can be insecure.
# server1 on 127.0.0.1: ... connected.
# server2 on 127.0.0.1: ... connected.
# Comparing `employees` to `employees` [PASS]
# Comparing `employees`.`departments` to `employees`.`departments` [FAIL]
# Object definitions differ. (--changes-for=server1)
#
--- `employees`.`departments`
+++ `employees`.`departments`
@@ -1,6 +1,6 @@
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
- `dept_name` varchar(40) NOT NULL,
+ `dept_name` varchar(256) DEFAULT NULL,
PRIMARY KEY (`dept_no`),
UNIQUE KEY `dept_name` (`dept_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
可以看到,默认-号代表左边要比较的server1的变化,+号代表右边server2的不同,
如果要交换,可以使用参数:
–changes-for=server2
如果要在比较不同的时候,强行继续比较下去,要增加--force选项
2) 可以生成差异化的SQL,因为方法1)中,只产生了不同的地方,但如为了生产考虑,
要生成达到server2的脚本,则可以使用参数
--difftype=sql,
则:
mysqldiff --server1=admin:123456@192.168.79.10 --server2=admin:123456@192.168.79.11
--difftype=sql test:test
mysqldiff的核心是使用INFORMATION_SCHEMA
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:123456@192.168.79.10 --server2=admin:123456@192.168.79.11
--difftype=differ test:test
这样就比较两个不同库中的数据库test,假设两个库中库名都是test
也可以比较不同的表
mysqldiff --server1=user@host1 --server2=user@host2 testdb.table1:anotherdb.anothertable
就是使用库名.表名的方式就可以了
下面是出来的一个效果
# mysqldiff --force --server1=root:msandbox@127.0.0.1:21489 --server2=root:msandbox@127.0.0.1:21490 employees:employees
# WARNING: Using a password on the command line interface can be insecure.
# server1 on 127.0.0.1: ... connected.
# server2 on 127.0.0.1: ... connected.
# Comparing `employees` to `employees` [PASS]
# Comparing `employees`.`departments` to `employees`.`departments` [FAIL]
# Object definitions differ. (--changes-for=server1)
#
--- `employees`.`departments`
+++ `employees`.`departments`
@@ -1,6 +1,6 @@
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
- `dept_name` varchar(40) NOT NULL,
+ `dept_name` varchar(256) DEFAULT NULL,
PRIMARY KEY (`dept_no`),
UNIQUE KEY `dept_name` (`dept_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
可以看到,默认-号代表左边要比较的server1的变化,+号代表右边server2的不同,
如果要交换,可以使用参数:
–changes-for=server2
如果要在比较不同的时候,强行继续比较下去,要增加--force选项
2) 可以生成差异化的SQL,因为方法1)中,只产生了不同的地方,但如为了生产考虑,
要生成达到server2的脚本,则可以使用参数
--difftype=sql,
则:
mysqldiff --server1=admin:123456@192.168.79.10 --server2=admin:123456@192.168.79.11
--difftype=sql test:test
mysqldiff的核心是使用INFORMATION_SCHEMA
SHOW CREATE TABLE `departments`; SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, AUTO_INCREMENT, AVG_ROW_LENGTH, CHECKSUM, TABLE_COLLATION, TABLE_COMMENT, ROW_FORMAT, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments'; SELECT ORDINAL_POSITION, COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA, COLUMN_COMMENT, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments'; SELECT PARTITION_NAME, SUBPARTITION_NAME, PARTITION_ORDINAL_POSITION, SUBPARTITION_ORDINAL_POSITION, PARTITION_METHOD, SUBPARTITION_METHOD, PARTITION_EXPRESSION, SUBPARTITION_EXPRESSION, PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments'; SELECT CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments' AND REFERENCED_TABLE_SCHEMA IS NOT NULL; SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, AUTO_INCREMENT, AVG_ROW_LENGTH, CHECKSUM, TABLE_COLLATION, TABLE_COMMENT, ROW_FORMAT, CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments'; SELECT ORDINAL_POSITION, COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA, COLUMN_COMMENT, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments'; SELECT PARTITION_NAME, SUBPARTITION_NAME, PARTITION_ORDINAL_POSITION, SUBPARTITION_ORDINAL_POSITION, PARTITION_METHOD, SUBPARTITION_METHOD, PARTITION_EXPRESSION, SUBPARTITION_EXPRESSION, PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = 'employees' AND TABLE_NAME = 'departments';
发表评论
-
让 InnoDB 多任务运行
2018-09-06 16:06 745今天偶然看到的一招,记录下 如果服务器上的参数 innodb_ ... -
mysql中查询连接工作状态
2018-05-31 15:13 639#!/bin/bash while true do mysql ... -
MYSQL BACKUP的SHELL相关语句
2018-05-25 20:33 506#!/bin/bash ###############Basi ... -
MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
2018-05-08 11:17 572MySQL开启bin-log后,调用存储过程或者函数以及触发器 ... -
NUMA的选择
2018-04-24 09:52 1345现在的机器上都是有 ... -
关于MYSQL 5.7线程池的好文收集
2018-03-27 10:57 1475来自腾讯工程师的好文: https://www.jianshu ... -
MYSQL 的审计日志插件
2017-11-30 10:19 1229MYSQL 的审计日志插件,可惜目前只是LINUX用: 来自M ... -
(转)MySQL InnoDB缓冲池配置详解
2017-10-09 16:55 3990一、InnoDB缓冲池 InnoDB维护一个称为缓冲池的内存 ... -
(转)MySQL 5.7默认SQL模式带来的问题总结
2017-10-05 18:46 1822http://www.ywnds.com/?p=8865 在 ... -
(转)MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍
2017-10-05 18:45 1138http://www.ywnds.com/?p=8184 ON ... -
MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
2017-10-05 15:52 745http://www.cnblogs.com/zhoujiny ... -
mysql 5.7中的MBR和BKA算法
2017-10-03 15:11 1676一、什么是MRR MMR全称是Multi-Range Re ... -
(收藏)万字总结:学习MySQL优化原理,这一篇就够了!
2017-09-30 23:37 1145http://dbaplus.cn/news-155-1531 ... -
(转)MySQL中NULL和空值的区别
2017-09-23 15:57 2188MySQL中NULL和空值的区别 http://www.yw ... -
mysql 5.7中关于count(*)的优化
2017-09-20 19:15 2303在mysql 5.7中,对于select count(*) f ... -
MySQL 索引设计概要
2017-09-12 21:12 471<<MySQL 索引设计概要>>,不错 ... -
10分钟学会理解和解决MySQL乱码问题
2017-07-22 18:21 500http://cenalulu.github.io/mysql ... -
MySQL的or/in/union与索引优化
2017-07-22 08:29 900https://mp.weixin.qq.com/s/ZWez ... -
MYSQL中查看某个表或库的大小语句
2017-04-02 09:12 1909在information_schema.tables中有相关记 ... -
(收藏)MYSQL大表方案
2017-01-09 19:58 1390https://segmentfault.com/a/1190 ...
相关推荐
一个简单JAVA 小工程进行两个MYSQL数据库对象的比较,导入eclipse中,修改jdbc.properties文件中的JDBC信息,然后直接运行action包类中的main方法,生成EXCEL,excel中包含表,表中列,索引,函数过程差异比对结果。...
1. 两个 MYSQL 数据库对象结构比对工具 (比如:本地测试库、远程运维库表结构、表中列等对比) 2. 比对结果导出EXCEL 存放于 “工程根目录”/export/ 目录下 3. 比对的对象包括 表、表列、表索引、表分区差异、...
mysqldiff是一个能够方便于大家在实际项目中快速生成不同版本数据库之间的差异SQL,同时还能够自动将新版中新增表中默认数据一并导入到旧版本中。
MySQL-Diff是一套Perl模块和随附的CLI脚本mysqldiff用于比较两个MySQL / MariaDB数据库的模式。 先决条件 该套件需要Perl 5.14或更高版本以及与MySQL兼容的客户端实用程序套件(mysql和mysqldump)。 您至少需要Perl...
在开发及调试的过程中,需要比对新旧代码的差异,我们...我们可以使用mysqldiff工具来实现比对数据库表结构及获取更新结构的sql语句。 1.mysqldiff安装方法 mysqldiff工具在mysql-utilities软件包中,而运行mysql-uti
数据库表差异一种快速比较来自多个来源(MySQL、PostgreSQL、SQLite)的数据库并查看表结构之间差异的方法。 当前状态:比较表名和表列名。特征节省比较数据库表结构的时间支持 MySQL、PostgreSQL、SQLite 不同...
Laravel开发-db-diff 用于Laravel和MySQL的数据库差异工具
这是一个基于 TiDB MySQL 语法解析器的一个工具集,支持1. SQL 指纹(sql fingerprint);2. 数据库库表对比(sql diff): 对比两个数据库的库表差异,并生成源库到目标库对应的差异( DDL) 语句。
抓取屏幕截图差异抓取网站,制作屏幕截图并直观地比较这些屏幕截图它使用 angularjs 1.3 作为 Web 前端和 iojs 以及服务器端的 mysql 数据库。关于这个项目这是一个大型网站重新启动项目的快速黑客,用于跟踪新网站...
与实时数据库在模式存储库中进行差异更改以自动生成DDL 管理多个环境(例如,开发,暂存,生产)并轻松保持同步 配置使用在线模式更改工具(例如pt-online-schema-change)来执行ALTER 从Rails或Django等框架将非...
简介Super-Jacoco是基于Jacoco,git二次开发打造的一站式JAVA代码全量/ diff覆盖率收集平台,能够解决,无侵入的收集代码...使用方法 1,数据库安装和初始化安装mysql数据库,创建数据库后执行sql/db.sql文件中的建表SQ
相比较于去年9月3日发布的3.3版本而言,4.0版本在UI、安装升级、使用流程、操作体验方面都做了重大的改进和突破。我们后面会重点对4.x系列版本提供技术支持和扩展,之前的版本我们将陆续放弃支持,强烈建议每一位...