我在 MySQL 5.1.52 上运行传统的主/从复制,我的主服务器设置为基于语句的复制。一些表在从站上缺少行(不同的行数),这些表仅使用“加载数据 infile ...”插入主站,并带有自动增量 Pks。奇怪的是,从站上丢失的行在行应该存在的 PK 值中存在差距。从站被标记为只读,因此不会被意外删除。
我正在将 MySQL 表从 MyISAM 切换到 InnoDB,并且在我手动执行之前,我不希望从服务器执行更改表命令。目的是备份几个小时,以防出现我尚未解决的问题。有没有办法告诉 MySQL slave 在一段时间内不要处理来自 Master 的 alter table 命令?
我们正在将合并复制与 SQL 2005 一起使用。似乎我需要更改发布服务器上的自动增长设置,但我想知道这对复制有什么影响。
它会强制初始化吗?还有什么我需要注意的吗?
我们有一个在地理上分布在偏远社区的客户端,每个物理位置之间的网络/互联网连接都有些不可靠。有一个中央位置和 52 个卫星位置。
通常,我们的应用程序部署为一个中央解决方案,其中只有一个数据库,所有位置都连接到一个数据库。数据本身由大多数表中的位置列进行分区(某些数据是集中的),并且应用程序的操作使得在一个物理位置接触数据不会接触另一个物理位置的数据,包括集中数据(至少,我们很确定它没有——如果有,那很可能是一个错误)。我们的客户希望进行集中报告(我们通常支持),以及跨企业同步多个集中配置表(相同,因为通常只有一个表副本)。
每个位置都有自己的数据中心,并获得 SQL Server 2008 R2 Enterprise 的许可。
我们的目标是部署我们的应用程序,使断开的网络/互联网连接不能阻止本地读/写操作,因为我们的应用程序是关键任务。
我的第一个想法是使用一个巨大的对等拓扑来复制数据库中的每个对象。我一直无法找到使用这种方法进行如此多的扩展的任何安装的任何文档或参考,所以我不知道它在技术上是否可行,如果是,将需要什么硬件。这是否适用于集中式分发数据库(为了便于管理)?这甚至是个好主意吗?如何部署数据库架构更改?索引维护是否会产生大量的网络开销?
还可以选择创建自己的解决方案,我认为这将涉及将数据库的单独副本(每个非中心位置仅包含其数据的分区部分)的日志传送到中心位置,然后使用一个合并工具(我们已经有了)来创建一个报告数据库。配置表更改将通过其他某种机制推出,可能是合并复制,可能是自制解决方案。
我考虑并测试了在整个数据库上使用合并复制,但我们需要大量的数据库和应用程序更改/重新设计/等。为了使这项工作正常进行,因此由于时间限制,我已经排除了这一点。(对此有何想法?)
我在这里寻找的是来自有更多经验的人的一些指导。显然,为此做好规划至关重要。我在正确的道路上吗?还有其他选择吗?(网址?)
我需要有关将数据从具有 SQL Server 后端的第三方销售点系统复制到 MySQL 数据库的帮助。
具体来说,有人可以建议在我们的 MySQL 实例上从 SQL Server 镜像数据的最佳方法吗?
当前流程:
缺点:
额外情况:
我们有两台需要通过 Oracle 流复制数据的 Oracle 11g 企业版服务器。但是,这两个服务器位于不受信任的域中,并通过 VPN 连接。连接的一端是瞻博网络防火墙,另一端是 TMG 防火墙。
我知道侦听器在端口 1521 上运行,但是应该打开哪些其他端口或端口范围以使 Oracle 复制正常工作?
我目前有一个有 2 个从站的主站,都运行 MySql 5.5。
我可以连接到单个主站的从站数量有哪些限制?应该考虑哪些参数?
我正在重新创建(推送)从 SQL 2000 实例到 SQL 2008 实例的事务复制,为了进行数据库迁移,我必须中断该实例。2008 实例既是分发者又是订阅者。
我大约 1/2 的订阅失败了
找不到存储过程“sp_MSins_dboTABLE”。
(更多信息):
命令尝试:如果@@trancount > 0 rollback tran(事务序列号:0x0002A2B400008D19000100000000,命令ID:20)
错误消息:找不到存储过程“sp_MSins_dboTABLE”。(来源:MSSQLServer,错误号:2812) 获取帮助:找不到存储过程“sp_MSins_dboTABLE”。(来源:MSSQLServer,错误号:2812) 获取帮助:我已经找到了几乎所有我能找到的路径,从运行
sp_scriptpublicationcustomprocs(我在distribution数据库中执行结果)到删除订阅,然后是发布,然后重新创建他们。
工作订阅是使用相同的方法创建的。
这是我的创建脚本:
https://gist.github.com/3152160
编辑:
更新 --- 我失败的订阅也引发了以下错误(通过 Profiler):
表已经定义了一个主键。
这是我的情况。
[distribution]数据库附加到这个新实例select * from sysservers (正确地)返回分发服务器仍然是集群上的第一个实例。如果我在发布者上运行以下内容(或者这甚至可能),它会多么糟糕?
sp_configure ‘allow updates’, 1
GO
RECONFIGURE WITH OVERRIDE
GO
update sysservers set datasource = 'server\instance' where srvname = 'repl_distributor';
GO
sp_configure ‘allow updates’, 0
GO
RECONFIGURE WITH OVERRIDE
GO
Run Code Online (Sandbox Code Playgroud)
这是最好的方法,还是有其他方法可以改变分销商?
我正在尝试修复一个 MySQL 复制设置。从属侧的数据库表之一被删除,并接收到来自主侧的更新,但由于缺少表,这些更新不会写入数据库。这个设置已经好几个月没有修复了,奴隶有很多事情要赶上。我观察到 Exec_Master_Log_Pos 值大于 Read_Master_Log_Pos ,这不应该是这种情况。这是某种错误吗?估计等slave赶上master就会恢复正常。有人熟悉这种情况吗?
replication ×10
mysql ×5
sql-server ×3
alter-table ×1
binlog ×1
mirroring ×1
mysql-5.5 ×1
network ×1
oracle ×1
windows ×1