昏。楼上所说的所有方法,统统不适用于楼主的情况。
楼主你也是没经验吧。你要及时同步做什么。你的测试服务器不修改数据么?不修改表结构么?你修改了怎么可能还从生产上同步过来。
最好最简单的一种方法,就是逻辑导出和落导入。而且支持跨版本。
具体的方法就是,在你的生产数据库上执行
exp userid=system/password file=expdmp log=explog statistics=none buffer=800000 full=y
这样就生成了一个叫expdmp的导出文件。此时需要注意你的环境变量,包括NLS之类的。如果你懂了就看下一步,否则自己去研究一下。如果没看清到时候出了乱码别怪我。
把那个expdmp拷贝到你的测试服务器上去,然后在同一个目录下执行
imp userid=system/password file=expdmp log=implog statistics=none
buffer=800000 full=y
做完就可以了,你的测试库就和生产库同步了。相同用户密码一样。
这才是最简单最行之有效的数据库同步办法。
当然,如果是我我现在还喜欢用热备份直接恢复。也很好很强大。可惜不能跨平台跨版本。
你按照教程做吧,可以的。创建一个同步项目
安装完成后会有两个图标:
1 点击 "SyncNavigator (客户端)" 图标进入系统。
2 在登录界面中输入连接到的服务器地址,点击 "确定" 按钮开始连接。
注意:这里不是登陆您的数据库,而是登陆到本软件的管理端。
默认情况下直接点击 "连接" 按钮即可(本机默认已经安装)。
默认服务器登录用户名为 "admin" 密码为空。
本机服务器地址为 127001 。
您可以使用域名或者IP地址作为服务器地址。
3 切换到 "同步管理" 面板中点击 "新建" 按钮开始创建同步项目。
4 首先切换到 "来源数据库" 选项卡。填写同步的来源数据库信息。 (存放需要同步数据的数据库叫做来源数据库)
一般情况下只需要输入数据库地址,数据库名称,登录用户名,登录密码。
数据库地址: 来源数据所在机器的地址。可以是域名或者IP地址。
数据库名称: 来源数据库名称。如果已经指定了默认的登录数据库可以为空。
登录用户名: 登录数据库服务器使用的用户名。如果需要使用Windows账户登录请变更 "登录方式"
连接测试: 测试输入的信息是否正确。如果连接失败则会返回具体错误信息。
5 切换到 "目标数据库" 选项卡。以相同的方式填写同步的目标数据库。
目标数据可以像来源数据库那样选择已有的数据库,也可以通过本软件创建一个新的数据库,选择已有数据库步骤大致同上,新建数据库步骤如下:
您只需要创建一个新的目标数据库,软件会自动创建最大兼容的表结构。
如果您希望目标数据库与来源数据库表结构完全一致,您只需要在目标数据库创建一个空表结构即可。
当您使用 MySQL 作为来源数据库时,同步的表至少需要一个主键。
目标数据库不应包含外键约束,因为它可能导致部分数据无法同步。
如果您的目标数据库与来源数据库结构(如字段类型,约束)不兼容,这可能导致部分数据无法同步。
假设您设置来源库为 19216812 ,设置目标数据库为 19216813, 那么数据将从19216812 同步到 19216813。如果您的方向设置错误,可能会导致数据被覆盖。
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 41 50 51 54 55
当您从 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的功能这篇博客就介绍这么多,还有很多功能就不一一列出了,留给有需要的同志一些自己探索的机会。希望此博客能够对和我有同样需求的人一点点帮助,那么就不白写啦!
不同服务器数据库之间的数据 *** 作 --创建链接服务器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码'--查询示例 selectfrom ITSV数据库名dbo表名 --导入示例 selectinto 表from ITSV数据库名dbo表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV ', 'droplogins '--连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 selectfromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名) --生成本地表 selectinto 表fromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名) --把本地表导入远程表 insertopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名) selectfrom 本地表 --更新本地表 update b set b列A=a列A fromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名)as a innerjoin 本地表 b on acolumn1=bcolumn1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 '--查询selectFROMopenquery(ITSV, 'SELECT FROM 数据库dbo表名 ') --把本地表导入远程表 insertopenquery(ITSV, 'SELECT FROM 数据库dbo表名 ') selectfrom 本地表 --更新本地表 update b set b列B=a列B FROMopenquery(ITSV, 'SELECT FROM 数据库dbo表名 ') as a innerjoin 本地表 b on a列A=b列A --3、opendatasource/openrowset SELECTFROMopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' )testdboroy_ta --把本地表导入远程表 insertopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ')数据库dbo表名 selectfromSQL code 用强制订阅实现数据库同步 *** 作 大量和批量的数据可以用数据库的同步机制处理: // 说明:为方便 *** 作,所有 *** 作均在发布服务器(分发服务器)上 *** 作,并使用推模式在客户机器使用强制订阅方式。 有疑问联系作者:zlp321001@hotmailcom 测试通过 //--1:环境服务器环境: 机器名称: ZehuaDb *** 作系统:Windows 2000 Server 数据库版本:SQL 2000 Server 个人版 客户端机器名称:Zlp *** 作系统:Windows 2000 Server 数据库版本:SQL 2000 Server 个人版 --2:建用户帐号在服务器端建立域用户帐号我的电脑管理->本地用户和组->用户->建立UserName:zlp UserPwd:zlp --3:重新启动服务器MSSQLServer我的电脑->控制面版->管理工具->服务->MSSQLServer 服务 (更改为:域用户帐号,我们新建的zlp用户 /zlp,密码:zlp) --4:安装分发服务器A:配置分发服务器工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置) B:配置发布服务器工具->复制->创建和管理发布->选择要发布的数据库(SZ)->下一步->快照发布->下一步-> 选择要发布的内容->下一步->下一步->下一步->完成C:强制配置订阅服务器(推模式,拉模式与此雷同) 工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->SQL Server数据库->输入客户端服务器名称(ZLP)->使用SQL Server 身份验证(sa,空密码)->确定->应用->确定D:初始化订阅复制监视器->发布服务器(ZEHUADB)->双击订阅->强制新建->下一步->选择启用的订阅服务器->ZLP-> 下一步->下一步->下一步->下一步->完成--5:测试配置是否成功复制监视器->发布服务器(ZEHUADB)->双击SZ:SZ->点状态->点立即运行代理程序查看:复制监视器->发布服务器(ZEHUADB)->SZ:SZ->选择ZLP:SZ(类型强制)->鼠标右键->启动同步处理如果没有错误标志(红色叉),恭喜您配置成功 --6:测试数据 --在服务器执行:选择一个表,执行如下SQL insertinto WQ_NEWSGROUP_S select'测试成功',5 复制监视器->发布服务器(ZEHUADB)->SZ:SZ->快照->启动代理程序 ->ZLP:SZ(强制)->启动同步处理 去查看同步的 WQ_NEWSGROUP_S 是否插入了一条新的记录 测试完毕,通过。
sql同步使用dblink同步数据。
具体参考实例:
1、在win下创建linux的DBLINK
a查看linux下的tnsnamesora文件
[oracle@myrac1 admin]$ cat tnsnamesora
# tnsnamesora Network Configuration File: /s01/app/oracle/product/1120/dbhome_1/network/admin/tnsnamesora
# Generated by Oracle configuration tools
HJJ =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myrac1oraclecom)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hjj)
)
)
b创建dblink
SQL> create database link win_lin_link connect to hjj identified by xxxx
2 using '(DESCRIPTION =
3 (ADDRESS = (PROTOCOL = TCP)(HOST = 1921681171)(PORT = 1521))
4 (CONNECT_DATA =
5 (SERVER = DEDICATED)
6 (SERVICE_NAME = hjj)
7 )
8 )'
9 /
Database link created
2在win下创建trigger
SQL> create or replace trigger trig_win_emp
2 after insert on emp
3 for each row
4 begin
5 insert into emp@win_lin_link values(:newempno,:newempname,:newempsalary);
6 end;
7 /
Trigger created
3测试
4结果
win下插入数据
SQL> insert into emp values('E001','LYN',2300);
1 row created
SQL>COMMIT;
Commit complete
SQL> select from emp;
EMPNO EMPNAME EMPSALARY
---------------------------------------- ---------------------------------------- ----------
E001 LYN 2300
SQL> select from emp@win_lin_link;
EMPNO EMPNAME EMPSALARY
---------------------------------------- ---------------------------------------- ----------
E001 LYN 2300
linux下查看数据
SQL> select from emp;
EMPNO EMPNAME EMPSALARY
-------------------- -------------------- ----------
E001 LYN 2300
回答1:再次同步只会同步变化的数据。因此不必担心数据量大的问题
回答2:可以测试一次发布/订阅所需要的总体时间,建议同步时间比这个总时间略大
回答3:发布订阅无法做到实时同步。如需实时同步,可尝试做日志传送、镜像,这两种可以达到用户感官上的实时同步
浙一和浙二是指浙江省一号和浙江省二号两个卫星。这两个卫星的主要任务是进行地球观测和遥感测量,包括监测自然灾害、地表覆盖变化、城市建设等。虽然浙一和浙二都属于浙江省卫星应用工程中心,但它们并不直接进行数据同步。
浙一和浙二在数据采集和处理上有一定的区别。浙一主要对地表进行高分辨率的遥感监测,数据主要用于环境监测和资源调查。浙二则主要对全球气象、海洋、环境等进行探测,数据主要用于气象预报和环保研究。因此,浙一和浙二的数据处理和应用也存在一定的差别。
虽然浙一和浙二的数据不会直接同步,但它们都会将采集到的数据上传到卫星应用工程中心,经过处理后用于各种领域的应用。在数据处理和应用过程中,两个卫星的数据可能会进行交叉应用和协同处理,以实现更加精准的监测和预测。
以上就是关于mysql数据库同步问题全部的内容,包括:mysql数据库同步问题、怎样同步两个SQLSERVER的数据、oracle数据库同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)