使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步

    • 摘要:最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件——SyncNavigator。好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!SyncNavigator的基本功能:自动同步数据/定时同步数据无论是实时同步/24小时不间断同步,还是根据计
    • 最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件——SyncNavigator。好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

      SyncNavigator的基本功能:

      自动同步数据/定时同步数据
      无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。

      完整支持 Microsoft SQL Server
      完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。

      支持MySQL4.1 以上版本
      支持MySQL4.1 5.0 5.1 5.4 5.5。并能在不同数据库版本之间相互同步数据。

      无人值守和故障自动恢复
      当数据库故障或网络故障以后,无需人工干预(或操作)自动恢复同步并确保数据完全准确,可靠。

      同构数据库同步/异构数据库同步
      SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能轻松实现。

      断点续传和增量同步
      当同步完成(或中断)后,再次同步时能继续上一次的位置增量同步,避免每次都需要从头开始的问题。

      创建一个同步项目

      安装完成后会有两个图标:

      1. 点击 “SyncNavigator (客户端)” 图标进入系统。

      2. 在登录界面中输入连接到的服务器地址,点击 “确定” 按钮开始连接。

      注意:这里不是登陆您的数据库,而是登陆到本软件的管理端。默认情况下直接点击 “连接” 按钮即可(本机默认已经安装)。默认服务器登录用户名为 “admin” 密码为空。本机服务器地址为 127.0.0.1 。您可以使用域名或者IP地址作为服务器地址。

      3. 切换到 “同步管理” 面板中点击 “新建” 按钮开始创建同步项目。

      4. 首先切换到 “来源数据库” 选项卡。填写同步的来源数据库信息。 (存放需要同步数据的数据库叫做来源数据库)

      一般情况下只需要输入数据库地址,数据库名称,登录用户名,登录密码。数据库地址: 来源数据所在机器的地址。可以是域名或者IP地址。数据库名称:来源数据库名称。如果已经指定了默认的登录数据库可以为空。登录用户名: 登录数据库服务器使用的用户名。如果需要使用Windows账户登录请变更 “登录方式”连接测试: 测试输入的信息是否正确。如果连接失败则会返回具体错误信息。

      5. 切换到 “目标数据库” 选项卡。以相同的方式填写同步的目标数据库。

      目标数据可以像来源数据库那样选择已有的数据库,也可以通过本软件创建一个新的数据库,选择已有数据库步骤大致同上,新建数据库步骤如下:

      您只需要创建一个新的目标数据库,软件会自动创建最大兼容的表结构。如果您希望目标数据库与来源数据库表结构完全一致,您只需要在目标数据库创建一个空表结构即可。当您使用 MySQL 作为来源数据库时,同步的表至少需要一个主键。目标数据库不应包含外键约束,因为它可能导致部分数据无法同步。如果您的目标数据库与来源数据库结构(如字段类型,约束)不兼容,这可能导致部分数据无法同步。假设您设置来源库为 192.168.1.2 ,设置目标数据库为 192.168.1.3, 那么数据将从192.168.1.2 同步到 192.168.1.3。如果您的方向设置错误,可能会导致数据被覆盖。6. 切换到 “同步内容设置” 选项卡。选择需要同步的数据库表。

      如果需要设置每个表的具体内容可以点击 “详细设置” 按钮进行调整。您可以设置条件过滤。比如只查询评分大于90的表记录,或者隐藏不需要同步的字段。如果在这一个步骤未勾选任何表则不会同步任何内容。

      7. 点击 “确定”按钮完成项目设置。

      8. 切换到 “总控制台” 面板中选择需要开始同步的项目。点击 “开始” 按钮即可开始数据库同步。

      自动同步数据库数据

      使用 HKROnlineSyncNavigator 自动同步数据库数据。与谷歌日历、Hotmail日历等的操作非常类似,您只需要设置同步任务执行的时间系统便能在指定的时间自动运行。

      1. 在 “同步管理”面板中选择需要设置的项目,点击 “修改” 按钮开始设置。

      2. 切换到 “计划调度设置” 选项卡,点击 “新建” 按钮新建一个运行计划。

      3. 指定需要运行的时间。设置完成后点击 “确定” 按钮完成设置。

      开始日期: 计划开始的时间。可以设置为以后的一个时间点表示未来执行。一次: 只执行一次同步任务。执行完成后此计划立即失效。每天: 每天都在指定的时间运行。如果需要在每天都运行多次,请勾选 “重复任务” 复选框并设置间隔周期。每周: 每周按照指定的时间运行。如果不需要在指定的时间运行可以取消具体的时间复选框。过期日期: 任务将在指定的时间过期。过期后的任务不再被执行。使用这个计划: 表示该计划是否有效。如果取消此复选框计划任务将不再被执行。

      4. 点击 “确定”按钮保存当前设置。

      预计下次运行时间 列显示了同步任务下次自动运行的时间。

      启动/停止服务端服务

      1. 点击 “SyncNavigator(客户端)” 图标进入系统。

      2. 在登录界面中点击 “取消” 按钮后点击 “本地服务” 按钮。

      2. 打开界面后,图中绿色区域显示当前服务的启动状态。点击区域内按钮可以切换服务状态为 “启动” 或”停止”。

      已启动: 服务端已经启动。可以正常运行数据库同步任务并处理客户端命令。已停止: 服务端已经停止。所有的同步任务不会被运行,并不再处理客户端的命令。

      SQL Server 自动同步到MySQL

      本文章将向您介绍如何将数据从SQL Server 自动或定时同步到 MySQL 数据库(或从 MySQL 自动或同步到 SQL Server 数据库)。只需通过几个步骤即可轻松实现。

      1.在 “同步管理”面板中点击 “新建” 按钮创建同步项目。

      2. 首先切换到 “来源数据库” 选项卡。填写同步的来源数据库信息。

      数据库类型选择 SQL Server 2000 / 2005 /2008.

      3. 切换到 “目标数据库” 选项卡。以相同的方式填写同步的目标数据库。

      数据库类型选择 Mysql 4.1 5.0 5.1 5.4 5.5当您从 MySQL 同步到 SQL Server 时,每张表至少需要一个主键(从 SQL Server 到 MySQL 不需要)4. 切换到 “同步内容设置” 选项卡。选择需要同步的数据库表。

      5. 切换到 “计划调度设置” 选项卡,新建一个运行计划。

      如果需要自动同步(如24小时不间断)则选择自动。如果需要定时同步,则点击对应的选项。

      6. 点击 “确定”,设置成功!

      注意:当您使用软件自动创建表结构,从MySQL同步到 SQL Server 可能出现的问题:

      1. MYSQL 的 DateTime 类型,可能存在 ‘0001-1-10:0:0’ 值,与SQL Server 的 DateTime取值范围不兼容,需要将 SQL Server 的

      DateTime 类型修改为 DateTime2。

      2. MySQL 的UTF-8 字符集数据库,同步到 SQL Server 时,可能需要将 SQL Server 的 varchar 类型需要修改为 nvarchar 类型。

      提升数据库同步速度和性能

      SyncNavigator 默认的同步项目配置仅适合中小型的数据库。当您需要对大型,超大型数据库进行同步时,进行以下设置可以明显的提高数据库同步速度。

      1. 在 “同步管理”面板中选择需要设置的项目,点击 “修改” 按钮开始设置。

      2. 切换到 “同步参数设置” 选项卡。

      参数介绍:

      自动优化网络传输吞吐量:允许软件根据表结构动态调节同步时的传输数据量。建议勾选。 轮询检索缓存大小:当您使用大型数据库时,建议设置为2048或以上。 数据接收缓存大小:当您使用大型数据库时,建议设置为2048或以上。 BLOB类型缓存大小:当您使用大型数据库时,建议设置为50或以上。 缓存数据库结构:当您正式部署项目后,可以勾选此选项以提高同步速度。 对超大型数据库进行优化:当您正式部署项目后,可以勾选此选项以提高同步速度。 SyncNavigator的功能这篇博客就介绍这么多,还有很多功能就不一一列出了,留给有需要的同志一些自己探索的机会。希望此博客能够对和我有同样需求的人一点点帮助,那么就不白写啦!

      PS:SyncNavigator不是免费软件,专业版大概1600,企业版大概2800,不过可以免费试用30天,希望大家支持正版,因为我们都是靠软件吃饭的!

原文地址:https://www.cnblogs.com/syncnavigator/p/10189662.html

时间: 2024-10-13 19:43:30

使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步的相关文章

使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步

将测试版的项目同步(部署)到正式版的时候,两个数据库的结构比较与同步时,如果修改数据库的时候没有记录好修改了那些表,很难将两个数据库进行同步 RedGate Sql Compare使用简介说明: 1.比对并同步数据库中的所有对象 包括存储过程.关系.表.视图和用户定义的函数 2.报告所有差异 3.生成直接在目标数据库上运行的迁移脚本 Red gate sql compare 官网:http://www.red-gate.com/products/sql-development/sql-compa

【赵强老师】利用数据库触发器实现数据的同步

一.什么是触发器 数据库触发器是一个与表相关联的,存储的PL/SQL 语句.每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列. 触发器的应用场景如下: 复杂的安全性检查 数据的确认 数据库审计 数据的备份和审计 二.创建Oracle触发器的语法 CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE

轻松学会多线程(四)——synchronized同步关键字知多少

每一个对象都有一把独占锁.独占锁只限制线程对它的同步方法的访问,对非同步方法,独占锁没有意义. synchronized关键字可以作为函数的修饰符,也可以作为函数内的语句,也就是平时说的同步方法和同步代码块.如果再细分的话,synchronized可以作用域instance变量.对象引用.static函数和类上. 不过无论synchronized关键字加载方法上还是对象上,它取得的锁都是对象锁.而不是把一段代码或者函数当做锁.所以说,尽管我们对方法进行了同步,该同步方法还是有可能被其他线程的对象

ucenter通信实现同步登录、同步退出(详细)

首先,需要去官网下载一个ucenter的包.然后解压下来. 先把ucenter/ucenter这个文件夹复制到你的项目根目录下改名为uc_server;(这里只是我建议修改,以便于我下面写的配置); 然后将ucenter/advanced/uc_client复制粘贴到自己的项目上. 在你项目根目录创建一个api的文件夹.把ucenter/advanced/examples/api里头有个uc.PHP复制到你项目的api文件夹下. 其次同样,ucenter/advanced/examples把in

两种同步模式:状态同步和帧同步

https://zhuanlan.zhihu.com/p/36884005?utm_medium=social&utm_source=qq 一.同步 所谓同步,就是要多个客户端表现效果是一致的,例如我们玩王者荣耀的时候,需要十个玩家的屏幕显示的英雄位置完全相同.技能释放角度.释放时间完全相同,这个就是同步.就好像很多个人一起跳街舞齐舞,每个人的动作都要保持一致.而对于大多数游戏,不仅客户端的表现要一致,而且需要客户端和服务端的数据是一致的.所以,同步是一个网络游戏概念,只有网络游戏才需要同步,而

状态同步和帧同步个人理解

一.同步 所谓同步,就是要多个客户端表现效果是一致的,例如我们玩王者荣耀的时候,需要十个玩家的屏幕显示的英雄位置完全相同.技能释放角度.释放时间完全相同,这个就是同步.就好像很多个人一起跳街舞齐舞,每个人的动作都要保持一致.而对于大多数游戏,不仅客户端的表现要一致,而且需要客户端和服务端的数据是一致的.所以,同步是一个网络游戏概念,只有网络游戏才需要同步,而单机游戏是不需要同步的. 二.状态同步和帧同步的区别 最大的区别就是战斗核心逻辑写在哪,状态同步的战斗逻辑在服务端,帧同步的战斗逻辑在客户端

android账号与同步之发起同步

上一篇博文我介绍了账号与同步的同步实现过程,其中提供了一个工系统进程调用的服务,那么这个服务到底是怎么被启动和使用的呢?这篇博文我就大体梳理一下启动过程. 其实作为一个一般开发人员,我们只要知道要想知道被监听的ContentProvider有变动,首先那个ContentProvider必须使用ContentResolver.notifyChange(android.net.Uri, android.database.ContentObserver, boolean)这个方法来通知我们.我们知道这

Tibco RV request/reply 的同步與非同步

Tibco RV 有提供 request/reply 模式,也有提供 publish/subscribe 模式,這兩種模式的用途分別是,request/reply 用在一對一的狀況下,而 publish/subscribe 則是用在一對多.雖然 request/reply 是用在一對一,Tibco RV 仍提供了同步與非同步兩種模式,在說明同步和非同步之前,先看一下 server 端的程式,如下: 1 package idv.steven.rv; 2 3 import com.tibco.tib

真正的inotify+rsync实时同步 彻底告别同步慢

我们公司在用inotify+rsync做实时同步,来解决分布式集群文件一致性的问题.但当web文件越来越多(百万级数量html,jpg等小 文件),同步就越来越慢,根本做不到实时,按照网上的调优方法都尝试过,问题根本没有解决.经过我一翻细致研究,终于把慢的核心问题研究明白,先总结一句 inotifywait响应不会有延迟,rsync也很快.大家同样有慢的烦恼,那是因为网上的inotify+rsync的教程都是坑.下面我们来分 析. inotifywait 单独分析 /usr/local/bin/