MySQL和MsSQL实时自动数据同步

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

最近碰到一个项目php和asp程序之间数据如何共享导出和导入所以一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。

<特别感谢QQ网友会爬的猪猪提供的技术支持信息>

好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

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或以上。
  • 缓存数据库结构: 当您正式部署项目后,可以勾选此选项以提高同步速度。
  • 对超大型数据库进行优化: 当您正式部署项目后,可以勾选此选项以提高同步速度。

SyncNavigator的功能这篇博客就介绍这么多,还有很多功能就不一一列出了,留给有需要的同志一些自己探索的机会。希望此博客能够对和我有同样需求的人一点点帮助,那么就不白写啦!

【附录】软件下载

时间: 2024-11-05 22:05:30

MySQL和MsSQL实时自动数据同步的相关文章

MySQL和MsSQL实时自动同步

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.并能在不同数据库版本之间相互同步数据. 无人值守和故

Windows和Linux使用WinSCP脚本(备份)自动数据同步

使用WinSCP脚本(备份)自动数据同步 写在前面:本笔记适用于windows和linux之间数据备份.使用以下脚本前提是windows已将安装了WinSCP程序 脚本文件script.txtoption echo offoption transfer binaryopen sftp://username:[email protected]:port::cd /backup/::put E:\app (简单上传文件命令)synchronize remote E:\app\back /backup

利用脚本实现mysql主库到备库数据同步(每五分钟同步一次增量)

目标: 将主库数据(IP1)每五分钟一次同步到备库(IP2) 服务器备库上,只同步增加量 思路: 利用crontab 每五分钟一次定时执行脚本进行数据同步 在脚本中编译实现查询五分钟内的数据增加量,并将增加量导入到备库 实现过程及代码(以record 表为例): bash脚本中内容 vi transaction.sh----建立transaction脚本实现同步 #!/bin/bash source.bash_profile (由于定时执行的功能使用crontab实现,需要在bash中添加使环境

使用SyncNavigator进行SqlServer或者MYsql数据库的实时、增量同步

SyncNavigator是一款高效的数据库同步工具,支持sqlserver数据库和mysql数据库,采用增量同步的方式实时保存数据库数据. 因为是增量同步,记录每次同步时间戳,所以同步效率很高,不用每次整个数据库检查,每次只需要同步新修改的部分或者增加的部分,删除的部分本地也会删除,默认是同步增.删.改. 如果勾选只新增,那么同步时只会增加新内容,不会对修改和删除的老数据做任何操作,默认是不勾选的. 因为我们的数据库常规新产生的数据其实并不大,每一秒产生的数据也不会很多,原则上每一秒新产生的数

mysql跨服务器,表数据同步方式!

过程:PLSQL——>Database links——>新建一个dblink 新建dblink具体步骤: 1.数据库连接 所有者:XXX(比如:EAPS) 名称:XXX(辨识度高点的名字,比如:EAPS_LINK) 2.连接到 用户名:XXX(目标数据库用户名) 口令:XXX(目标数据库密码) 数据库: (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 端口号)) ) (CONNECT_

MySQL触发器实现两表数据同步(详解)

1. 创建一个数据表 order_1,同时复制出一份表order_2表结构如下:CREATE TABLE a_order_1 (order_id int(11) NOT NULL AUTO_INCREMENT,order_sn varchar(100) DEFAULT NULL,user_nick varchar(100) DEFAULT NULL,user_mobile varchar(100) DEFAULT NULL,address varchar(255) DEFAULT NULL,st

unison实时双向数据同步

软件下载 ocamlopt下载地址:http://caml.inria.fr Unison下载地址:http://www.seas.upenn.edu/~bcpierce/unison 1.安装unison前先安装ocamlopt.安装ocamlopt: tar -xvf ocaml-4.02.0.tar.gz ./configure make world.opt make install 2.安装Unison tar -xvf unison-2.48.3.tar.gz make UISTYLE

实现mysql和redis之间的触发数据同步——mysql 触发器+gearman+php.worker

上回一次我们已经实现了 redis 作为 mysql 的缓存服务器,但是如果更新了 mysql,redis 中仍然会有对应的 KEY,数据就不会更新,此时就会出现 mysql 和 redis 数据不一致的情 况. 详情请见        基于redis缓存数据库实现lnmp架构高速访问 所以接下来就要通过 mysql 触发器将改变的数据同步到 redis 中. 因为mysql和redis数据格式不同,不能实现直接同步,所以 将MySQL数据首先放入Gearman中,然后通过一个自己编写的PHP

redis作为mysql的缓存服务器(读写分离,通过mysql触发器实现数据同步)

一.redis简介Redis是一个key-value存储系统.和Memcached类似,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.在部分场合可以对关系数据库起到很好的补充作用.它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客户端,使用很方便. 二.架构图<ignore_js_