有时候,需要对比一下测试环境和生产环境中,数据库的表结构是否有所差异。有两个常用的工具。

AmpNmp.DatabaseCompare

GUI 界面,支持多种数据库(MySQL、SQL Server、SQLite)简单高效,推荐。

官方下载地址及文档

百度网盘下载地址

mysqldiff

官方文档

官方下载地址

下载安装

mysqldiff 是命令行工具,其优点是可以直接根据差异生成 SQL 语句。

一般直接在本地开发环境安装,如果是 Windows 环境,需要提前安装 Visual C++ Redistributable Packages for Visual Studio 2013 。

语法

mysqldiff --server1=user:pass@host:port:socket --server2=user:pass@host:port:socket db1.object1:db2.object1 db3:db4

1

mysqldiff 可以对比两个数据库,或只对比表:

db1:db2:如果只是指定数据库,那么就将两个数据库中互相缺少的对象显示出来,而对象里面的差异不进行对比;包括表、存储过程、函数、触发器等。

db1.object1:db2.object1:如果指定了具体表对象,那么就会详细对比两个表的差异,包括表名、字段名、备注、索引、大小写等都有的表相关的对象。

参数:

--server1:配置server1的连接

--character-set:配置连接时用的字符集,如果不显示配置默认使用“character_set_client”

--width:配置显示的宽度

--skip-table-options:这个选项的意思是保持表的选项不变,即对比的差异里面不包括表名、AUTO_INCREMENT,ENGINE, CHARSET等差异。

-d DIFFTYPE,--difftype:差异的信息显示的方式,有[unified|context|differ|sql](default: unified),如果使用sql那么就直接生成差异的SQL这样非常方便。

--changes-for=:例如–changes-for=server2,那么对比以sever1为主,生成的差异的修改也是针对server2的对象的修改。

--show-reverse:这个字面意思是显示相反的意思,其实是生成的差异修改里面同时会包含server2和server1的修改。

两个mysql 数据库表结构_MYSQL对比两个数据库表结构相关推荐

  1. mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表

    我无法相信你没有找到合适的脚本来做到这一点.根据服务器到服务器的带宽和连接以及表数据大小,您可以: >直接转移整个表: mysqldump [options] sourcedatabase ta ...

  2. 怎么对比两个mysql数据库_[实战]如何对比两个数据库之间的变化

    目录 前言 相信很多撸友都曾经接到过下面这样一个工作: 要求对比两个不同版本数据库之间的变化,并对统计该变化对已有系统的影响. 并根据影响,请检索所有现行系统相关的存储过程,作出相应的修改. 或许最终 ...

  3. mysql cluster 查看数据库表名称_MySQL Cluster如何创建磁盘表方法解读

    MySQL Cluster采用一系列的Disk Data objects来实现磁盘表;接下来为您详细介绍 一.概念 MySQL Cluster采用一系列的Disk Data objects来实现磁盘表 ...

  4. mysql 横向分表合并_MySQL横向扩展-分库分表解决方案总结

    从业务场景看分库分表 互联网行业中,业务场景通常写少读多的情况居多,在MySQL的使用前期,读性能大多可以通过SQL优化来解决,但随着业务的持续发展,单纯依靠SQL的查询优化会越来越难以达到业务服务要 ...

  5. mysql 第二天数据_MySQL入门第二天------数据库操作

    一.基本命令 1.启动服务器 cmd net start [服务器名称] net start mysql57 2.停止服务器 cmd net stop [服务器名称] net stop mysql57 ...

  6. mysql如何备份一个表单_Mysql亿级数据大表单表备份

    上一篇Mysql已有亿级数据大表按时间分区,介绍了亿级数据大表如何按时间分区,也留下了一个问题:备份亿级数据大表要耗时多久.本篇将就如何备份亿级数据大表展开讨论. 注意:我这里所说的备份指的是数据从一 ...

  7. mysql 额外内存池_MySQL探秘(三):InnoDB的内存结构和特性

    常言说得好,每个成功男人背后都有一个为他默默付出的女人,而对于MySQL来说,这个"人"就是InnoDB存储引擎. MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引 ...

  8. 两个mysql主从同步_如何配置两个MySQL数据库之间的主从同步功能

    匿名用户 1级 2016-02-29 回答 一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能. ...

  9. mysql为什么要分库_mysql为什么要分库分表?

    1 基本思想之什么是分库分表? 从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上. 2 基本思想之为什么要分库分表? 单表操作数据量有最优值 ...

  10. mysql 散列查询_MySQL InnoDB中hash查找表的实现

    MySQL版本:5.7.14 源码位置为hash0hash.h hash0hash.cc 作为一种时间复杂度最优为O(1)的数据结构,但是最坏时间复杂对位O(n)的一种数据结构,但是在良好的设计has ...

最新文章

  1. 工资倒挂也刺激不了已是咸鱼的你
  2. 面向对象编程其实很简单——Python 面向对象(初级篇)
  3. SSIS 错误代码 DTS_E_OLEDB_EXCEL_NOT_SUPPORTED 没有可用的 OLE DB 访问接口 SSIS 的 64 位版本中不支持 Excel 连接管理器...
  4. 使用SecureCRT时屏幕僵死的处理方法——Linux终端设置技巧
  5. (04)Verilog HDL模块仿真激励
  6. OSPF路由协议基础(OSPF基本配置)
  7. 前端必须懂的计算机网络知识—(XSS、CSRF和HTTPS)
  8. GET和POST请求是一个字典
  9. 高效编程之hashmap你不看就会忘记的知识点
  10. GoAhead服务器编程
  11. 【Linux】Linux基础常用命令1(常用Linux命令的基本使用,Linux终端命令格式)
  12. python程序加密狗_加密狗 超级狗 加密程序 程序授权示例 程序授权验证
  13. Shell脚本实现俄罗斯方块小游戏
  14. 李白藏头诗鸿蒙,女子示爱的诗词
  15. 肾囊肿有什么症状呢?
  16. ESR-CMDS参数含义
  17. 华为eNSP-ISIS理论+实验配置
  18. Android 音乐APP(二)启动白屏优化、定位当前播放歌曲
  19. 海思3559平台搭建:简单烧写说明
  20. iOS 14捏制个性化拟我表情方法教程

热门文章

  1. 上海房屋租赁合同登记备案证明办理流程
  2. 楼梯计算机公式,楼梯的计算公式 楼梯的尺寸
  3. 将坐标系统保存为一个文件.prj
  4. PHP 图片上文字排版,文字输出至图片的排版有关问题
  5. echarts饼图显示百分比
  6. IT面试技巧经典问答
  7. SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 第八篇
  8. Python数据分析师工资怎么样?
  9. 信息学奥赛一本通:1097:画矩形
  10. mysql索引失效的常见原因