logo Navicat使用教程-2019.1 我也要发布文档

使用Navicat Premium 12自动执行数据库复制(二)


下载Navicat Premium最新版本

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

与同步不同,同步是一个一次性的过程,它使两个数据库的模式和数据同步,复制是一个连续(自动)在两个数据库之间复制数据的过程(尽管模式更新也是可能的)。复制可以异步进行,这样就不需要在两个数据库之间建立永久连接,或者在非高峰时间(例如,在深夜,数据库服务器上的通信量很少)进行复制。

复制的主要作用是创建所有用户数据库的合并存储库和/或在所有用户之间传播相同级别的信息。在这两种情况下,结果都是一个分布式数据库,在该数据库中,用户可以访问与其任务相关的数据,而不会干扰其他人的工作。为了消除用户之间的数据模糊性或不一致性而实现的数据库复制称为规范化。

这篇文章将介绍如何使用Navicat Premium的新自动化实用程序自动执行数据库复制。

快照复制

如上所述,快照复制通过将数据从一个数据库复制到同一个或不同服务器上的另一个数据库,使两个数据库保持同步。这是三种类型中最简单的一种。

创建数据同步作业

必须首先创建数据同步配置文件,以便将其作为复制过程自动化。在数据库同步策略白皮书中描述了在Navicat Premium 12中实现同质和异构同步的步骤。为了本教程的目的,我们将使用第一个示例来同步Sakila和Sakila2数据库。

提示:一旦创建了Sakila数据库,您可以通过右键单击导航窗格中的连接并选择新建数据库来创建Sakila2数据库。然后在弹出窗口中输入数据库名称(“sakila2”)。

要打开数据同步向导:

  1. 从菜单栏中选择Tools -> Data Synchronization。

    Navicat

  2. “Data Synchronization Options”选项卡仅包含几个比较选项复选框。我们可以保持原样:

    Navicat

  3. 数据同步向导的下一步是映射表。可以通过下拉列表选择目标表。在这种情况下,我们不需要提供任何映射指令,因为两个数据库中的表是相同的:

    Navicat

  4. 比较数据后,窗口显示将在目标表中插入、更新或删除的记录数。如果不想包括具有相同数据的表或具有不同结构的表,也就是说,不更新的表,可以取消选中“Show identical table and others”选项。还有一些复选框可以取消选择表或不希望应用于目标的操作。
    在列表中选择一个表将在底部窗格中显示源表和目标表的数据。源和目标之间不同的值将突出显示。在顶部窗格中,可以取消选中不希望应用于目标的记录。

    Navicat

差异选项

可以从下拉列表中选择要显示的差异类型。以下是可能的选项:

  • Difference:显示源表和目标表中不同的所有记录。
  • Insert:只显示目标表中不存在的记录。
  • Update:只显示在具有不同值的源表和目标表中存在的记录。
  • Delete:只显示源表中不存在的记录。
  • Same:显示源表和目标表中具有相同值的记录。
  • All Rows:显示源表和目标表中的所有记录。

在我们的例子中,选择“Update”或“Same”将显示零行,因为没有要更新的行(仅插入),并且没有相同的行:

Navicat

与之前一样,单击Deploy按钮生成并显示部署脚本:

Navicat

与以前的屏幕一样,此屏幕包含一个“Save Profile”按钮,允许您保存设置以备将来使用。此特定屏幕还具有一个按钮,用于保存部署脚本。

您仍然可以重新编译这两个数据库,或者继续执行部署脚本。有一个复选框用于出错时继续,以便在遇到错误时不停止部署。

当脚本执行时,您可以在消息日志中查看其进度。它显示处理的记录数和完成的百分比:

Navicat

关闭对话框后,我们可以确认sakila2数据库表现在包含数据:

Navicat

不要忘记保存配置文件,因为批处理作业将使用它。

购买Navicat Premium正版授权,请点击“咨询在线客服”哟!

PyCharm