原文地址:https://blog.csdn.net/liushuijinger/article/details/7704410/
最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。
好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!
SyncNavigator的基本功能:
自动同步数据/定时同步数据
无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。
完整支持 Microsoft SQL Server
完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。
支持 MySQL 4.1 以上版本
支持 MySQL 4.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. 在登录界面中点击 "取消" 按钮后点击 "本地服务" 按钮。
3. 打开界面后,图中绿色区域显示当前服务的启动状态。点击区域内按钮可以切换服务状态为 "启动" 或"停止"。
已启动: 服务端已经启动。可以正常运行数据库同步任务并处理客户端命令。
已停止: 服务端已经停止。所有的同步任务不会被运行,并不再处理客户端的命令。
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天,希望大家支持正版,因为我们都是靠软件吃饭的!