标签: replication

如何诊断 MySQL 从站上丢失的行?

我在 MySQL 5.1.52 上运行传统的主/从复制,我的主服务器设置为基于语句的复制。一些表在从站上缺少行(不同的行数),这些表仅使用“加载数据 infile ...”插入主站,并带有自动增量 Pks。奇怪的是,从站上丢失的行在行应该存在的 PK 值中存在差距。从站被标记为只读,因此不会被意外删除。

mysql replication

5
推荐指数
1
解决办法
4140
查看次数

防止复制更改表命令以更改引擎

我正在将 MySQL 表从 MyISAM 切换到 InnoDB,并且在我手动执行之前,我不希望从服务器执行更改表命令。目的是备份几个小时,以防出现我尚未解决的问题。有没有办法告诉 MySQL slave 在一段时间内不要处理来自 Master 的 alter table 命令?

mysql replication alter-table

5
推荐指数
1
解决办法
2310
查看次数

自动增长和合并复制

我们正在将合并复制与 SQL 2005 一起使用。似乎我需要更改发布服务器上的自动增长设置,但我想知道这对复制有什么影响。

它会强制初始化吗?还有什么我需要注意的吗?

replication sql-server-2005 sql-server

5
推荐指数
1
解决办法
114
查看次数

大规模对等复制拓扑?

我们有一个在地理上分布在偏远社区的客户端,每个物理位置之间的网络/互联网连接都有些不可靠。有一个中央位置和 52 个卫星位置。

通常,我们的应用程序部署为一个中央解决方案,其中只有一个数据库,所有位置都连接到一个数据库。数据本身由大多数表中的位置列进行分区(某些数据是集中的),并且应用程序的操作使得在一个物理位置接触数据不会接触另一个物理位置的数据,包括集中数据(至少,我们很确定它没有——如果有,那很可能是一个错误)。我们的客户希望进行集中报告(我们通常支持),以及跨企业同步多个集中配置表(相同,因为通常只有一个表副本)。

每个位置都有自己的数据中心,并获得 SQL Server 2008 R2 Enterprise 的许可。

我们的目标是部署我们的应用程序,使断开的网络/互联网连接不能阻止本地读/写操作,因为我们的应用程序是关键任务。


我的第一个想法是使用一个巨大的对等拓扑来复制数据库中的每个对象。我一直无法找到使用这种方法进行如此多的扩展的任何安装的任何文档或参考,所以我不知道它在技术上是否可行,如果是,将需要什么硬件。这是否适用于集中式分发数据库(为了便于管理)?这甚至是个好主意吗?如何部署数据库架构更改?索引维护是否会产生大量的网络开销?

还可以选择创建自己的解决方案,我认为这将涉及将数据库的单独副本(每个非中心位置仅包含其数据的分区部分)的日志传送到中心位置,然后使用一个合并工具(我们已经有了)来创建一个报告数据库。配置表更改将通过其他某种机制推出,可能是合并复制,可能是自制解决方案。

我考虑并测试了在整个数据库上使用合并复制,但我们需要大量的数据库和应用程序更改/重新设计/等。为了使这项工作正常进行,因此由于时间限制,我已经排除了这一点。(对此有何想法?)


我在这里寻找的是来自有更多经验的人的一些指导。显然,为此做好规划至关重要。我在正确的道路上吗?还有其他选择吗?(网址?)

replication sql-server sql-server-2008-r2

5
推荐指数
1
解决办法
1433
查看次数

将数据从 SQL Server 镜像到 MySQL 的最佳方法

我需要有关将数据从具有 SQL Server 后端的第三方销售点系统复制到 MySQL 数据库的帮助。

具体来说,有人可以建议在我们的 MySQL 实例上从 SQL Server 镜像数据的最佳方法吗?

当前流程:

  • 从远程 SQL Server 中选择一个数据集并使用 PHP 写入文本文件。
  • 使用 PHP 使用 LOAD INFILE 导入文本文件。
  • 某些数据集必须分块为多个迭代。

缺点:

  • 它缓慢而繁琐。
  • 需要每 x 分钟轮询一次他们的服务器以进行更改。
  • 难以检测更改,因为大多数表在行上没有“更新时间”来指示更改。因此,我们有时不得不假设我们将需要整个表。
  • 表多达 1100 万条记录(并且还在增长)。
  • 带宽使用效率低下。
  • 每当 SQL Server 上的架构更改(临时通知)时,我们都必须对更改做出反应并更改每个查询。

额外情况:

  • 我们的第三方 SQL Server 主机不允许对系统进行任何更改。
  • 我方(MySQL)对系统变化更加灵活。
  • 由于我们是 LAMP 商店,因此无法更改为 SQL Server 平台。
  • 我们是非常有能力的 IT 开发人员,但这个问题似乎需要额外的建议。
  • 管理层反对有机的销售点。

mysql replication sql-server mirroring

5
推荐指数
1
解决办法
3208
查看次数

跨防火墙进行 Oracle 11g 复制所需的端口?

我们有两台需要通过 Oracle 流复制数据的 Oracle 11g 企业版服务器。但是,这两个服务器位于不受信任的域中,并通过 VPN 连接。连接的一端是瞻博网络防火墙,另一端是 TMG 防火墙。

我知道侦听器在端口 1521 上运行,但是应该打开哪些其他端口或端口范围以使 Oracle 复制正常工作?

replication oracle windows oracle-11g-r2 network

5
推荐指数
1
解决办法
3987
查看次数

每个 master 的 slave 数量有什么限制?

我目前有一个有 2 个从站的主站,都运行 MySql 5.5。

我可以连接到单个主站的从站数量有哪些限制?应该考虑哪些参数?

mysql replication mysql-5.5

5
推荐指数
1
解决办法
8837
查看次数

日志读取器复制代理不断重新启动

我正在重新创建(推送)从 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):

表已经定义了一个主键。

replication sql-server-2008 sql-server-2000

5
推荐指数
1
解决办法
1736
查看次数

在发布者上更改 repl_distributor 的数据源有多不安全

这是我的情况。

  • Reporting Server (SQL 2008) 是 SQL 2000 事务性发布的分发服务器/订阅服务器群集
  • Reporting Server 已迁移到新的 SAN
  • 迁移完成后报告服务器严重崩溃(模型数据库已损坏)
  • 我在集群的一个节点上安装了另一个 SQL 实例,附加了 dbs,并更改了报告连接以使用这个新实例
  • 愚蠢的是,我将[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)

这是最好的方法,还是有其他方法可以改变分销商?

replication sql-server-2008 sql-server-2000

5
推荐指数
1
解决办法
775
查看次数

MySQL Exec_Master_Log_Pos 值大于 Read_Master_Log_Pos

我正在尝试修复一个 MySQL 复制设置。从属侧的数据库表之一被删除,并接收到来自主侧的更新,但由于缺少表,这些更新不会写入数据库。这个设置已经好几个月没有修复了,奴隶有很多事情要赶上。我观察到 Exec_Master_Log_Pos 值大于 Read_Master_Log_Pos ,这不应该是这种情况。这是某种错误吗?估计等slave赶上master就会恢复正常。有人熟悉这种情况吗?

mysql replication binlog

5
推荐指数
1
解决办法
1万
查看次数