最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— 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. 在登录界面中点击 "取消" 按钮后点击 "本地服务" 按钮。
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或以上。
- 缓存数据库结构: 当您正式部署项目后,可以勾选此选项以提高同步速度。
- 对超大型数据库进行优化: 当您正式部署项目后,可以勾选此选项以提高同步速度。