标签: database-replication

mySQL Replication:主数据库名称是否必须与从属数据库名称相同?

我已将主数据库名称设置为MDB&在Slave服务器中我设置为replicate-do-db = SDB < - 这不起作用?但是,当我将其设置为相同的DB名称时,它可以工作.是否有任何解决方案来设置1个主数据库与2个不同的从属但在同一服务器?

mysql replication database-replication

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

如何设置一个不隐藏的mongodb延迟从站?

出于测试目的,我试图通过设置 slaveDelay=n 的从站来模拟 mongodb 集群中的复制延迟。事实证明,这神奇地导致奴隶被隐藏,所以我的测试无法访问它。

MongoDB的文档状态“一般来说,我们不希望被用于slaveOkay延迟成员读取因此,设置slaveDelay还隐藏应用程序中的成员,就好像您还可以设置隐藏:。真正的”

有没有办法为我的“非典型”用例进行配置?或者有没有更好的方法来模拟从具有不同时间延迟的不同从站读取?

我尝试使用 TaggedReadPreference 强制测试代码连接到延迟的从站,但这导致

com.mongodb.MongoException: Could not find any valid secondaries with the supplied tags ('{ "delayed" : "true"}'
Run Code Online (Sandbox Code Playgroud)

显然,Java 驱动程序看不到辅助驱动程序。当我删除“slaveDelay”设置时,它连接正常。

这是我的集群配置:

rs.reconfig({
"_id" : "rs0",
"version" : 4,
"members" : [
    {   "_id" : 0,
        "host" : "localhost:27017",
        "priority" : 0,
        slaveDelay: 10,
        tags: { delayed: "true" }
    },
    {   "_id" : 1,
        "host" : "localhost:27018"
    },
    {   "_id" : 2,
        "host" : "localhost:27019",
        "arbiterOnly" : true
    }
]
})
Run Code Online (Sandbox Code Playgroud)

mongodb database-replication

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

从具有多个数据库的实例复制单个 Redis 数据库

我有一个包含两个数据库的 Redis 实例。现在我想设置第二个实例并复制第一个实例,但第二个实例应该只有一个数据库并且只从第一个实例复制 db 0。当我尝试这样做(slaveof ...为第二个实例设置)时,我在 Redis 日志文件中收到以下错误消息:

FATAL: Data file was created with a Redis server configured to handle more than 1 databases. Exiting
Run Code Online (Sandbox Code Playgroud)

我尝试使用redis-dump,但是当我尝试将生成的转储导入新实例时出现错误。(我认为与 2 dbs 和 1 db 无关,而是 redis-dump 中的一个错误,它仍处于 alpha 阶段。

该怎么办?

database-replication redis

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

为什么在数据库复制中,奴隶机器的读取速度比主机快

在主/从数据库复制中,所有写入都将转到主计算机.所有读取都转到从机.主机将数据复制到从机.当主设备将数据复制到从设备时,从设备必须执行写操作以锁定该行.从奴隶机器读取速度更快,但为什么呢?

database replication database-replication

5
推荐指数
2
解决办法
872
查看次数

将Microsoft SQL复制到其他数据库

我希望能够将整个数据库从Microsoft SQL复制到另一个Web友好的数据库,如CouchDB甚至mySQL.

我需要每天进行复制,只是想知道是否可能,如果是这样,我怎么用最少的编码来做.

谢谢

mysql sql couchdb database-replication

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

暂时暂停SQL Server复制

我们使用3个SQL Server进行事务复制设置,第1个作为发布者,第2个作为分发者,第3个作为订阅者.

我们有一项活动,可以使用de-attach和attach方法更改复制的DB(订户)的位置.在此活动期间,我将需要停止SQL服务器,因此所有复制的事务都将失败.

在此活动期间暂停复制的正确方法是什么,因此当我再次附加数据库并启动SQL服务时,复制将正常恢复.

谢谢

sql-server replication sql-server-2008 database-replication

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

具有延迟副本的MongoDB平衡器超时

我们设置了两个mongodb分片.每个分片包含一个主机,一个从机,一个24h从机延迟从机和一个仲裁器.但是,平衡器无法迁移任何等待延迟从属设备迁移的分片.我已经尝试在balancer配置中将_secondaryThrottle设置为false,但我仍然有问题.

似乎迁移持续了一天然后失败(大量等待日志中的从属消息).最终它放弃并开始新的迁移.消息说等待3个从站,但是延迟从站被隐藏并且prio 0所以它应该等待那个.如果_SecondaryThrottle工作,它不应该等待任何奴隶对吗?

几个月以来就是这样,所以配置应该在所有的mongoses上重新加载.一些运行平衡器的mongoses最近已重新启动.

有没有人知道如何解决问题,我们在启动延迟奴隶之前没有遇到这些问题,但这只是我们的理论.

配置:

{ "_id" : "balancer", "_secondaryThrottle" : false, "stopped" : false }
Run Code Online (Sandbox Code Playgroud)

从shard1主进程记录:

[migrateThread]警告:迁移提交等待3个从属为'xxx.xxx'{shardkey:ObjectId('4fd2025ae087c37d32039a9e')} - > {shardkey:ObjectId('4fd2035ae087c37f04014a79')}等待:529dc9d9:7a [migrateThread]等待复制在进入关键部分之前赶上

从shard2主进程登录:

Tue Dec 3 14:52:25.302 [conn1369472] moveChunk数据传输进度:{active:true,ns:"xxx.xxx",来自:"shard2/mongo2:27018,mongob2:27018",min:{shardkey:ObjectId( '4fd2025ae087c37d32039a9e')},max:{shardkey:ObjectId('4fd2035ae087c37f04014a79')},shardKeyPattern:{shardkey:1.0},状态:"catchup",计数:{cloned:22773,clonedBytes:36323458,catchup:0,stable: 0},ok:1.0}我使用的mem:0

更新:我确认删除slaveDelay让平衡器再次运行.一旦他们加快了速度,就会移动.所以问题似乎与slaveDelay有关.我还确认平衡器以"secondaryThrottle"运行:false.无论如何,它确实似乎在等待奴隶.

Shard2:

Tue Dec 10 11:44:25.423 [migrateThread]警告:为'xxx.xxx'{shardkey:ObjectId('4ff1213ee087c3516b2f703f')} - > {shardkey:ObjectId('4ff12a5eddf2b32dff1e7bea')}等待: 52a6f089:81

12月10日星期二11:44:26.423 [migrateThread]在进入关键部分之前等待复制赶上

Tue Dec 10 11:44:27.423 [migrateThread]在进入关键部分之前等待复制赶上

12月10日星期二11:44:28.423 [migrateThread]在进入关键部分之前等待复制赶上

12月10日星期二11:44:29.424 [migrateThread]在进入关键部分之前等待复制赶上

12月10日星期二11:44:30.424 [migrateThread]在进入关键部分之前等待复制赶上

12月10日星期二11:44:31.424 [migrateThread]在进入关键部分之前等待复制赶上

Tue Dec 10 11:44:31.424 [migrateThread] migrate commit succeeded flushing to secondaries for'xxx.xxx'{shardkey:ObjectId('4ff1213ee087c3516b2f703f')} - > {shardkey:ObjectId('4ff12a5eddf2b32dff1e7bea')}

Tue Dec 10 11:44:31.425 [migrateThread] migrate commit …

mongodb database-replication

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

Amazon RDS 只读副本——跳过复制错误

我有一个 amazon rds 实例数据库,我正在使用只读副本进行分析。但是,每周左右,只读副本都会因复制错误而崩溃。

我已经尝试根据此帮助文章查看从属状态并跳过复制错误,但是,我只能通过摆弄并创建新的只读副本来恢复它。

由于外部服务依赖于初始只读副本,这有多种原因。

主数据库没问题,但似乎某些完整性错误会导致只读副本崩溃且无法恢复。

目前,我的只读副本具有以下参数:

Replication State: Error
Replication Error: Error 'Cannot add or update a child row: a foreign key constraint fails.....
Run Code Online (Sandbox Code Playgroud)

有没有办法配置这个只读副本来跳过所有错误?我只是想弄清楚如何使它更稳定。谢谢!

mysql database-replication amazon-web-services amazon-rds

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

从PostgreSQL数据库存档超过时间线的记录

假设我们有一个公交公司的数据库.

  • 我们收集有关公共汽车乘客,乘客名单,燃料等的数据.
  • 我们主要处理即将到来的游乐设施的数据
  • 有时我们需要查看历史记录(用于记帐),但时间范围很短(最多3个月).
  • 由于显而易见的原因(存储浪费,查询速度慢等),我们不希望将所有记录保留在我们的生产/开发服务器上.
  • 我们希望有一个单独的数据库,我们将存档整个历史记录.
  • 在PostgreSQL上实现这一目标的最佳方法是什么?

我们正在寻找这样的东西:

  • 我们想要复制生产数据库(包括结构变更,序列等)
  • 我们希望从生产数据库中删除旧数据,但要从复制中排除这些语句以保持存档不变.

例:

  • 如果巴士行程超过3个月,请将其从生产数据库中删除,但将其保存在归档数据库中.

我们目前正在研究的内容:

  • 某种主/从复制(Slony?).
  • 为特定表启用REPLICA RULE,我们使用一些时间规则修改DELETE/UPDATE语句(WHERE日期<NOW() - interval'6 months')

感谢您的见解.

database postgresql database-replication

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

数据库复制在概念上如何工作?

我想了解数据库复制在概念上是如何工作的。我知道数据库有自己的日志(例如,MongoDB中的OpsLog),但是您可以在网上找到的大多数信息都是关于设置复制的,而不是复制的工作方式。

我也对理解MS SQL Server或MySQL如何专门进行复制不感兴趣。我更想掌握复制的基本思想和概念。

不幸的是,我不知道要寻找的术语,所以如果我寻找

数据库复制如何工作?

要么

概念上的数据库复制

我最终访问了数百个网站,解释了如何使复制适用于数据库X,但是我无法在概念上给出解释。

有什么提示吗?(请注意,我当然会对详细的答案感到满意,但即使是关于在网络上搜索内容的小提示也会很棒!)

PS:首先,即使对单向复制的工作原理进行解释也将有所帮助。

PPS:既然数据库索引是如何工作的?一直是一个有效的问题,我希望我的也是有效的,不要因为“范围太广”而被关闭或否决。

database replication synchronization database-replication

5
推荐指数
0
解决办法
288
查看次数