当前位置: 首页 > 面试题库 >

比较两个MySQL数据库[关闭]

海叶秋
2023-03-14
问题内容

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。

7年前关闭。

已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。

我目前正在使用MySQL数据库开发应用程序。

数据库结构仍在不断变化中,并且随着开发的进展而变化(我更改了本地副本,仅将其保留在测试服务器上)。

有没有一种方法可以比较数据库的两个实例以查看是否有任何更改?

尽管当前只是简单地丢弃以前的测试服务器数据库是可以的,但是随着测试开始输入测试数据,它可能会有些棘手。
相同但更多,稍后将在生产中再次发生…

有没有一种简便的方法可以增量地更改生产数据库,最好是自动创建一个脚本来对其进行修改?

答案中提到的工具:

  • Red-Gate的MySQL模式和数据比较(商业)
  • Maatkit(现为Percona)
  • 液基
  • 蟾蜍
  • Nob Hill数据库比较(商业)
  • MySQL差异
  • SQL EDT(商业)

问题答案:

如果您正在使用小型数据库,我发现两个数据库都使用--skip-comments--skip-extended- insert选项在mysqldump上运行以生成SQL脚本,那么在SQL脚本上运行diff效果很好。

通过跳过注释,可以避免无意义的差异,例如运行mysqldump命令的时间。通过使用--skip-extended- insert命令,可以确保每行都使用自己的插入语句插入。这消除了单个新记录或修改后的记录可能在以后所有插入语句中引起连锁反应的情况。使用这些选项运行会产生较大的转储而没有注释,因此这可能不是您在生产中要执行的操作,但是对于开发来说应该没问题。我在下面放置了一些命令示例:

mysqldump --skip-comments --skip-extended-insert -u root -p dbName1>file1.sql
mysqldump --skip-comments --skip-extended-insert -u root -p dbName2>file2.sql
diff file1.sql file2.sql


 类似资料:
  • 问题内容: 使用Linux,我想比较两个具有相同架构的SQLite数据库。只会有一些差异。 有没有可以输出这些差异的工具?最好将它们输出到命令行,以便我可以grep / sed它们。 SQLite使用SQL,因此一般的SQL工具也可以使用。 问题答案: 请查看2015年5月7日发布的SQLite版本3.8.10。此版本首次包含 sqldiff.exe 实用程序, 用于计算两个SQLite数据库文件

  • 我有两个表,分别是产品和采购: PRODUCTS表-将获得购买的所有新产品。这意味着表prroducts中不存在相同的productname。所有独特产品列表 采购表-具有唯一purchase_id的所有采购产品的列表。 > 如果要在PURCHASE中添加或插入值,表PRODUCTS将获得PURCHASE的所有值,但前提是PURCHASE中的productname不存在于PRODUCTS中的'pr

  • 从Employee em中选择*,其中em.Limit 我想用Spring数据将上面的查询转换为HQL查询。

  • 问题内容: 我有这个间隔,当前每5秒执行一次ajax请求。我对声明有疑问。我的代码总是输入它,并且两个json值完全相同,为什么它认为它们不同? 编辑 这是控制台输出(虚线是分隔请求,它不在实际输出中) 问题答案: 不能保证以相同的方式序列化JSON对象,也不能保证属性以相同的顺序进行序列化,使用并不是测试对象相等性的好方法。 一个更好的例子是这样的函数(前一段时间在互联网上找到,希望我能感谢原始

  • 我有一个简单的javascript问题,我真的需要一些帮助!我正在尝试弄清楚如何在数组之间比较元素,以及在下一个循环中再次比较较大的元素。假设我们有数组A和数组B。 我的问题是,在比较索引处的元素之后,我希望在下一个循环周期中比较较大的元素。 如果A=[5,7,4],B=[2,8,5] 在第一个循环中,5与2进行比较,2较小,因此会发生一些事情。在下一个循环周期中,我希望5与8进行比较,而对于现在

  • 下表列出了Cassandra和关系数据库(RDBMS)之间的主要区别: Cassandra 关系数据库 Cassandra用于处理非结构化数据。 RDBMS用于处理结构化数据。 Cassandra具有灵活的模式。 RDBMS具有固定的模式。 在Cassandra中,表是“嵌套键值对”列表(行列键列值)。 在RDBMS中,表是数组的数组(一行列) 在Cassandra中,是包含与应用对应的数据的最外