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

发布于 2021-02-02 16:35:38

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

7年前关闭。

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

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

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

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

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

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


答案中提到的工具:

关注者
0
被浏览
149
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    如果您正在使用小型数据库,我发现两个数据库都使用--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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看