我有一台 CENTOS 服务器正在运行,我想制作它的相同副本(所有软件、用户),例如用于镜像目的的双服务器。我怎么做?
我想迁移一个现有的应用程序,它大约有。1000 万条记录存储在 CouchDB 的关系数据库中。我喜欢 CouchDB 的一点是易于复制和快速缓存视图。我不喜欢的是写入和查看创建速度,这对于 1000 万个文档来说会非常慢。
我必须解决这些潜在瓶颈的一个想法是拥有三个 CouchDB 实例:
实例 2 从实例 1 复制而来。由于不会有任何应用程序使用实例 2,因此可以在不影响生产应用程序的情况下创建新视图。
实例 3 从包含所有缓存视图的实例 2 复制而来。
这是一个可行的解决方案吗?
在我们的数据中心断电后,从属 MySQL 数据库陷入困境。
这是其中一个奴隶的日志:
100118 10:05:56 [Note] Slave I/O thread: connected to master 'repl@db1:3306', replication started in log 'bin-log.004712' at position 724207814
100118 10:05:56 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)
100118 10:05:56 [ERROR] Got fatal error 1236: 'Client requested master to start replication from impossible position' from master when reading data from binary log
100118 10:05:56 [Note] Slave I/O thread exiting, read up to log 'bin-log.004712', position 724207814
Run Code Online (Sandbox Code Playgroud)
控制台显示了更多细节: …
我有一个使用 4 个独立数据库的 Win Form、Data Entry 应用程序。这是一个偶尔连接的应用程序,它使用合并复制 ( SQL 2005 ) 保持同步。这工作得很好。我要解决的下一个障碍是将过滤器添加到我的出版物中。
现在,我们正在向我们的 150 个订阅者中的每个订阅者复制 70mbs 压缩包,而实际上,他们只需要其中的一小部分。使用过滤器我能够做到这一点(见下面的代码),但我必须制作一个映射表才能做到这一点。此映射表由 3 列组成。一个 PrimaryID(Guid)、WorkerName(varchar) 和 ClientID(int)。
问题是我需要在所有四个数据库中都存在这个表才能将它用于过滤器,因为据我所知,过滤器语句中不允许使用视图或跨数据库查询。
我有哪些选择?
似乎我会将它设置为在 1 个数据库中维护,然后使用触发器在其他 3 个数据库中保持更新。为了成为过滤器的一部分,我必须将该表包含在复制集中,所以我如何适当地标记它。
有没有更好的方法呢?
SELECT <published_columns> FROM [dbo].[tblPlan] WHERE [ClientID] IN (select ClientID from [dbo].[tblWorkerOwnership] where WorkerID = SUSER_SNAME())
Run Code Online (Sandbox Code Playgroud)
这允许您将过滤器链接在一起,下一个过滤器低于第一个过滤器,因此它仅从第一个过滤器集中提取。
SELECT <published_columns> FROM [dbo].[tblPlan] INNER JOIN [dbo].[tblHealthAssessmentReview] ON [tblPlan].[PlanID] = [tblHealthAssessmentReview].[PlanID]
Run Code Online (Sandbox Code Playgroud) replication filtering merge-replication sql-server sql-server-2005
我试过的:
老的:
新的:
疑虑/疑虑:
问题:
我正在两台服务器(db1 和 db2)上设置主-主 mysql 复制。我开始将 db2 设置为 db1 的从属设备,并且工作正常。但是当我将 db1 设置为 db2 的从属时,它不会进行复制。
从表面上看,一切都很好,但数据没有复制。两个错误日志中都没有错误。从站状态正在更新 bin 日志位置。我使用 mysqlbinlog 检查了 db2 上的 binlog 和 db1 上的中继日志,所有查询都在那里,但没有执行到 db1。
两台服务器上的“show slave status”显示slave io和sql线程都是“Yes”,并且中继日志位置是由sql线程更新的。
同样在两台服务器上:
>echo "show processlist" | mysql | grep "system user"
166819 system user NULL Connect 3655 Waiting for master to send event NULL
166820 system user NULL Connect 3507 Has read all relay log; waiting for the slave I/O thread to update it NULL
Run Code Online (Sandbox Code Playgroud)
db1 的相关配置:
server-id = 1
log-slave-updates
replicate-same-server-id …Run Code Online (Sandbox Code Playgroud) 我想知道 Windows 机器上有哪些 DFS-R 替代品可用于实时双向文件和文件夹复制?DFS-R 需要活动目录和域控制器,我不想在这个特定环境中使用它们。
谢谢!
汤姆
有没有办法以比使用更有效的方式监控 DFSR 积压dfsrdiag.exe backlog?
我写了一个程序,它dfsrdiag.exe backlog /smem:alpha /rmem:beta /rgname:domain\namespace\foldername /rfname:foldername以五分钟的间隔在积压计数中啜饮。每次运行时,需要相当长的时间(2 到 5 分钟之间)才能获得结果值。这意味着它最终会运行几分钟来收集信息,然后延迟五分钟。感觉以某种方式获取这些信息可能很昂贵。它还返回积压工作中的前 100 个文件。我真的只想要积压数量,而不关心文件本身。这用于创建历史图表。
这些 DFSR 对等方的信息:四台服务器上的 Windows 2008 R2、通过 50-100Mb Internet 连接连接的三个远程办公室、30 个复制组、几个复制组的文件总大小非常大(每个 1-2TB)尽管大多数都很小(500MB) -10GB)。
我们的 MySQL 数据库已经变得相当大,我正在运行主复制。复制被破坏。我正在尝试重建第二个主服务器,而不会在执行 mysqldump 时冻结第一个主服务器。数据库足够大,转储需要几个小时,我不能让数据库离线那么长时间。
如何在不转储主服务器的情况下重建 MySQL 复制?
我正在设置一个 MySQL 主数据库,它复制到几个从数据库。
我的问题是监视和/或测试从属数据库是否是最新的最佳实践是什么,并且在出现导致复制停止的错误时会提醒管理员。
我已经搜索了监控工具,但找不到任何合适的工具。
此外,测试从站之间同步的“最佳实践”方法是什么。有没有类似 db 复制的单元测试?
如果我对此事的无知冒犯了任何人,我深表歉意。
replication ×10
mysql ×4
dfs-r ×2
scalability ×2
centos ×1
couchdb ×1
email-server ×1
filtering ×1
linux ×1
sql-server ×1
storage ×1
wmi ×1