Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何比较两个MySql数据库_Javascript_Python_Mysql_Linux_Shell - Fatal编程技术网

Javascript 如何比较两个MySql数据库

Javascript 如何比较两个MySql数据库,javascript,python,mysql,linux,shell,Javascript,Python,Mysql,Linux,Shell,我必须比较两个MySql数据库数据,我想比较两个MySql模式,找出两个模式之间的差异 我创建了两个变量Old_Release_DB和New_Release_DB。在Old_Release_DB中,我存储了旧的发布模式,在一些修改之后,比如删除了一些列,添加了一些列,重命名了一些列,更改了列属性,比如增加数据类型大小(例如:varchar(10)到varchar(50))。它变成了我存储在new_release_DB中的新版本模式 现在,我想查看表名、在新发布的数据库中更改的列名列表,以及随列名

我必须比较两个MySql数据库数据,我想比较两个MySql模式,找出两个模式之间的差异

我创建了两个变量Old_Release_DB和New_Release_DB。在Old_Release_DB中,我存储了旧的发布模式,在一些修改之后,比如删除了一些列,添加了一些列,重命名了一些列,更改了列属性,比如增加数据类型大小(例如:varchar(10)到varchar(50))。它变成了我存储在new_release_DB中的新版本模式

现在,我想查看表名、在新发布的数据库中更改的列名列表,以及随列名一起更改的列名

例如

表A列名称添加(如果已添加), 表A列名称删除(如果已删除), 表A列名称更改(如果其属性已更改)


我正在Linux的Shell脚本中尝试它,但我没有得到它。请让我知道我是否可以使用其他脚本,如python或java

您可以通过创建数据库转储来比较两个数据库: mysqldump-u您的数据库用户your database name>database-dump-file.sql-如果您使用密码连接到数据库,还可以在mysqldump命令中添加-p选项

然后将它们与diff进行比较: diff new-database-dump-file.sql old-database-dump-file.sql 或者,您可以通过将>databases\u diff添加到上一个命令,将diff执行的结果保存到带有STDOUT重定向的文件中


然而,这种比较需要一些眼力——你会发现两个文件之间的差别。

我使用mysql Workbench,它具有模式同步实用程序。在尝试将更改从开发服务器应用到生产服务器时非常方便。

查看

它还可以生成Nesserry SQL语句以从一个方案转换到另一个方案(反之亦然)

上面链接的文档相当好。而且,入门非常简单:

mysqldiff --server1=user@host1 --server2=user@host2 test:test

只需对这两个数据库进行mysqldump,然后比较2个
.sql
文件。我认为这应该很容易解决您的问题。。可视化数据比较和模式syc可以做到这一点。如何使用mysqldump?您可以使用它来了解如何创建
.sql
文件。创建后,只需比较这两个文件。