库对比工具mysqldiff使用
2019独角兽企业重金招聘Python工程师标准>>>
mysqldiff是mysql官方推荐的库对比工具,MySQL Utilities中的一个脚本。可以比对两个库中缺少的表,相同的表缺少的字段。
1,下载mysqldiff
下载地址:http://downloads.mysql.com/archives/utilities/
2,下载mysql-connector(python),否则执行会报错。因为这个插件是通过python连接器连接的。
下载地址:https://dev.mysql.com/downloads/connector/python/
3,命令模板
mysqldiff --server1=user:pass@host:port:socket --server2=user:pass@host:port:socket db1.object1:db2.object1 db3:db4
这里讲的是两种用法。可以直接对比库,db3:db4 ,也可以对比表 db1.table1:db2.table2
--server1
:配置server1的连接。--server2
:配置server2的连接。--character-set
:配置连接时用的字符集,如果不显示配置默认使用character_set_client。--width
:配置显示的宽度。--skip-table-options
:保持表的选项不变,即对比的差异里面不包括表名、AUTO_INCREMENT、ENGINE、CHARSET等差异。 这个一定要加,否则肯定对比失败。测试环境和正式环境自增字段的当前值肯定不一样。如果是主从对比,就不要加。-d DIFFTYPE,--difftype=DIFFTYPE
:差异的信息显示的方式,有 [unified|context|differ|sql],默认是unified。如果使用sql
,那么就直接生成差异的SQL,这样非常方便。--changes-for=
:修改对象。例如 –changes-for=server2,那么对比以sever1为主,生成的差异的修改也是针对server2的对象的修改。--show-reverse
:在生成的差异修改里面,同时会包含server2和server1的修改。--force
:完成所有的比较,不会在遇到一个差异之后退出-vv
:便于调试,输出许多信息-q
:quiet模式,关闭多余的信息输出
4,对于创业公司来讲,没有严格的正式环境(dba维护,上线提sql给dba),又没有好的习惯可以上线前执行此命令验证库的一致性。
常见使用方式如下:
mysqldiff --server1=:xxx:xxx@xxx.xxx.xxx.xxx:3306 --server2=lxxx:lixxx@xx.xx.xx.xx:3306 --changes-for=server1 --skip-table-options --force db1:db2
执行上述命令,如果出现对比失败,见下图:
# WARNING: Using a password on the command line interface can be insecure. linux提示密码用在命令行不安全
# server1 on xxx.xxx.xxx.xxx: ... connected. 库1连接成功
# server2 on xxx.xx.xx.xx: ... connected. 库2连接成功
# Comparing `db1` to `db2` [PASS] 开始比对库1库2
# Comparing `dba1`.`table1` to `db2`.`table1` [PASS] 库1的table1和库2的同名table1相同
--- `db1`.`table2` 发现库1的table2和库2同名的table2 出现不同 --代表server1的 ++代表server2
+++ `db2`.`table2`
@@ -2,10 +2,10 @@ `id` int(11) NOT NULL AUTO_INCREMENT, 相同`merchant_id` bigint(11) NOT NULL DEFAULT '0' COMMENT '商户id', 相同`merchant_name` varchar(100) NOT NULL DEFAULT '' COMMENT '商户名称', 相同
- `login_name` varchar(45) NOT NULL DEFAULT '' COMMENT '登录名', table2差异 db1的loginname
- `login_password` varchar(45) NOT NULL DEFAULT '' COMMENT '登录密码', table2差异 db1的login_password
+ `login_name` varchar(45) NOT NULL DEFAULT '' COMMENT '登录名 暂时没用', table2差异 db2的loginname
+ `login_password` varchar(45) NOT NULL DEFAULT '' COMMENT '登录密码 暂时没用', table2差异db2的login_password
(发现注释中,db2的注释多了暂时没用)
# Compare failed. One or more differences found. 比对失败,结束
执行上述命令,对比成功,见下图:
# WARNING: Using a password on the command line interface can be insecure. linux提示密码用在命令行不安全
# server1 on xxx.xxx.xxx.xxx: ... connected. 库1连接成功
# server2 on xxx.xx.xx.xx: ... connected. 库2连接成功
# Comparing `db1` to `db2` [PASS]
# Comparing `db1`.`table1` to `db2`.`table1` [PASS]
# Comparing `db1`.`table2` to `db2`.`table2` [PASS]
# Success. All objects are the same.
代表库字段正常。
(注:缺表的日志我没有截,因为写博客的时候库里只有字段不同,没有缺少表,后期补充)
转载于:https://my.oschina.net/u/1454202/blog/3012292
库对比工具mysqldiff使用相关推荐
- mysql数据库对比工具、mysqldiff、数据库表结构变动对比
mysql数据库对比工具.mysqldiff.数据库表结构变动对比 1.首先你要有 Navicat Premium 15,然后找到工具-结构同步 2.找到需要对比的数据库 3.点击比对 4.点击部署 ...
- Json数据的对比工具,对比库(含js在线对比工具,.net 的jsondiffer包)
1)如果是偶尔手工对比两个值,可以借助json的在新对比工具: 在线地址: json在线对比工具 2)如果是.net 中对比两个json的差异. 建议使用:NuGet Gallery | JsonDi ...
- Python 自动化办公之 Excel 对比工具
作者 | 周萝卜 来源丨萝卜大杂烩 今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 由于 ...
- Caffe、TensorFlow、MXnet三库对比
Caffe.TensorFlow.MXnet三库对比 Google开源了他们内部使用的深度学习框架TensorFlow,结合之前开源的MXNet和Caffe,对三个开源库做了一些讨论.本文首先对三个库 ...
- Python自动化办公之Excel对比工具
今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 由于工作当中经常需要对比前后两个 Exc ...
- 【转】DICOM:DICOM三大开源库对比分析之“数据加载”
背景: 上一篇博文DICOM:DICOM万能编辑工具之Sante DICOM Editor介绍了DICOM万能编辑工具,在日常使用过程中发现,"只要Sante DICOM Editor打不开 ...
- mysql 连接差异_和你一起从 0 实现一个数据库差异对比工具
对比数据的痛苦 不知道你是否也像我一样,在快乐编写代码的时候,必须进行一些数据库的数据对比工作. 诚然,一般的数据差异,比如是每一行的内容不同,市场上有比较成熟的 compare2 等对比工具. 但是 ...
- 达梦数据对比工具VERI对oracle11gR2与oracle11gR2的实时同步后对比验证测试
环境介绍 一:源库 1.oracle 11g R2,DMHSV4 2.10.0.0.21,crm库,ZHS16GBK,1521端口, 3.同步用户usercrm,密码abcd1234 4.同步表T01 ...
- 达梦数据库Veri对比工具管理平台的使用方法
前言:今天大家简单介绍一下达梦数据库的一个对比工具,如何对两个库进行数据对比. 1.访问并登陆对比工具,访问地址为达梦运维服务器IP:8080/veri ,默认登陆账号密码为admin/admin. ...
最新文章
- 为了今年印象最深刻的唱片,转演唱会消息一个,虽然我去不了 55555
- Spring-Cloud中的统一配置中心
- ecshop api.php,api.php
- netcore docker_让.NetCore程序跑在任何有docker的地方
- php ajax xmlhttpreq 上传文件 get,使用Ajax XmlHttpRequest上传文件
- 洛阳地铁一号线无人驾驶_刚刚,最新消息!涉及洛阳地铁1号线、2号线…
- 转 oracle 监控执行计划突然变化
- 第三方易支付系统源码
- 网关统一配置解决跨域问题
- OpenGL核心技术之延迟着色器提升版
- 华为手机充当电脑的无线U盘 - 华为无线连接电脑 - 华为分享
- 2023.02.09 草图大师厨房效果图1skp素材效果图
- AWS创建并连接云虚拟机 - Linux(结尾附视频)
- 审计溯源 | IP-guard终端操作审计,助力高效防控泄密风险
- 2000-2009十年十大创业新模式
- centos7下RabbitMQ的安装
- PCI 32,PCI 64和PCI-X,PCI-E图解差别
- 移动机器人 | 手势识别
- 图形在计算机中用什么格式表示什么,使用什么软件打开dat文件,图形文字说明如何在计算机中查看DAT类型文件...
- ImageNet1K的下载与使用