我最近担任了一个系统管理员职位,负责管理一组 20 台(左右)服务器。我之前没有处理过的一件事(除了在测试情况下)是向 MySQL 复制场引入一个新的从属服务器。
基本上复制设置如下:
MS -> SL1 -> SL2 (backup)
| SL3 (reporting)
SB2 SL4 (loadbalanced web slave)
SL5 (loadbalanced web slave)
SL6 (loadbalanced web slave)
SL7 (loadbalanced web slave)
Run Code Online (Sandbox Code Playgroud)
但基本上它是一个有两个读从站的主站,(一个纯粹用于备份),一个主读从站(主站正在等待,如果你愿意的话),后面有 6 个从站,用于额外的备份,4 个负载均衡的网络读取从站和用于报告的服务器。
我在网上做了很多阅读,并假设向环境中添加一个新的奴隶(来自 SL1),将是:
STOP SLAVE;FLUSH TABLES WITH READ LOCK;UNLOCK TABLES;然后START SLAVE;(到目前为止一切正常,SL2 重新上线并赶上)但是,一段时间后,我从二进制日志中收到重复的键插入错误:
110122 17:01:25 [ERROR] Slave SQL: Error 'Duplicate entry '2011-01-22 17:00:01' …Run Code Online (Sandbox Code Playgroud) 我想在同一台服务器上复制一个数据库,并通过每天运行一次计划服务或让 SQL Server 2008 在内部处理它来使其保持最新状态。
我们不需要转换数据,只需从DatabaseA 复制到DatabaseB(但永远不要从DatabaseB 复制到DatabaseA)。
您会在复制服务或 SSIS 作业下进行设置吗?各自的优缺点是什么?
我这样做的原因是我可以有一个临时应用程序来读取和写入临时数据库,但是每天晚上来自实时数据库的任何新数据都被拉入临时数据库。
实时数据库每天都会更新新事件,我们希望确保临时环境尽可能类似于实时环境。
谢谢,格雷格。
作为第一次为我们的生产数据库成功实现复制拓扑的开发人员,我正在密切监视它并担心潜在的问题。
我很高兴 Log Reader Agent 已经运行了 2 天 20 小时 6 分 2 秒并且不想超越自己(因为我知道问题会出现)但是这个数字会有多大?
如果日志读取器代理运行了 30、100 或 365 天,dba 是否会重新启动它?这是有益的,还是有一个网站可以让我提交日志读取器代理状态的快照(如果它在 2 年内没有出现问题)?(假设我们没有重新启动服务器 - 当然我们会这样做)。
塔
由于业务需要,我可能需要在我的环境中禁用事务复制(Sql 2k -> Sql 2008)。从功能上讲,我理解这意味着我需要放弃订阅和文章。当冲突需求得到解决时,获取创建脚本是否足以将复制恢复到原始状态?
谢谢。
我有两个经常更新的表,一个是直接的UPDATE ..,另一个是直接的,INSERT .. ON DUPLICATE KEY UPDATE ...通常这些查询是即时的,但有时需要 0.1 秒到 1+ 秒,然后又是即时的几秒钟。
另一件事要注意,我有两个 MySQL 服务器(在同一个专用网络中)。所有选择查询(除了一两个)都在从站上执行,这里看到的插入当然在主站上。当数据库处于大负载下时,速度减慢最为明显。最后,我正在使用 xtradb(看看它是否有帮助),但在纯 MySQL 5.5 InnoDB 上发生了相同的行为。
-- CustomData
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| Server | int(11) | NO | PRI | NULL | |
| Plugin | int(11) | NO | PRI | NULL | |
| ColumnID | int(11) | NO | PRI | NULL | |
| DataPoint | …Run Code Online (Sandbox Code Playgroud) 我已经设法设置主从复制。
它工作正常。下跌的可能性有哪些?
是否有任何警报工具来监控?
另一件事:我可以在我的复制数据库中运行一个单独的数据库,我只是为了测试目的而运行吗?
我有 3 个 MySQL 服务器说A,B,C。
我想要做的是,我想让它们都成为主从。如果任何 MySQL 服务器上有更新,它应该被复制到所有服务器。
我研究了循环复制,发现可以用它来实现。
任何人都可以给我完成三台服务器之间所述复制的所有步骤。
还有一点我也想忽略数据库中的一些表。
此外,这种类型的复制有哪些注意事项?
我正在寻找有关如何处理环境报告的建议。我们目前拥有 16 台服务器,其中包含 20 个 SQL Server 2005 实例。我们拥有 6,600 多个数据库,并且在这些实例中不断增长(每个客户 1 个数据库)。我们的大多数数据库运行的大小从 200 mb 到 7gb,其中大约 60 个数据库运行的最大大小从 11GB 到 110gb。
我们正在使用 SAN 进行存储,但在运行影响 IO 的报告时遇到了问题。
我们的一个想法是拉取 60 个更大的数据库,然后使用事务复制来复制这些数据库并在副本上运行报告。
这将使所有较小的数据库在没有较大数据库压力的情况下运行。在未来,我们相信不会再有基于我们公司目标的更大的数据库。
有什么想法吗?
我正在尝试在一台机器上设置两台 PostgreSQL 服务器并执行流式复制。我已经成功过一次,但是当我按照完全相同的步骤再次尝试时它不起作用..这些是步骤:我有 $PGDATA = home/postgresql/9.1/data 和 $STANDBY = home/postgresql/9.1 /数据2
initdb -D $PGDATA initdb -D $STANDBY
host replication repuser 127.0.0.1/0 md5在 postgresql.conf 中的 master 节点中设置:
max_wal_senders = 1 归档模式 = 开 存档命令 = 'cp %p ~/postgresql/backup/archivedir/%f' wal_level = 存档 wal_keep_segments = 32
启动主节点并做基础备份:
psql -d dellstore2 -c "SELECT pg_start_backup('backup for replication', true)"
rsync -av ${PGDATA}/ $STANDBY --exclude postmaster.pid
psql -d dellstore2 -c "选择 pg_stop_backup()"
pg_stop_backup 表示一切正常,所有 WAL 文件都已存档在备用 (data2) 节点中,我使用以下命令创建 …
我们内部拥有主 SQL Server(目前有 15 个主服务器(总共约 500 个数据库),大多数服务器具有十六进制核心处理器)。
这些被镜像到附近建筑物中的其他备份服务器(通过专用的 0ms 光纤链路)。
我们想要做的是在数英里外的异地数据中心维护我们数据的实时副本(作为更大的 DR 项目的一部分 - 即如果我们所在地区存在通信问题)。
目前我们使用 SQL Server 2008 R2 - 标准版。
显然,使用 SQL Server 2008 R2 的“标准版”将我们限制为同步镜像,因为异步是“企业版”功能。
我们已经完成了异地同步镜像的测试,但延迟使它成为不可能。
我很想升级到 SQL Server 2012 Enterprise 并实施 AlwaysOn 可用性组,但该公司不愿意花费 100,000 英镑以上来升级 SQL 许可(2012 年的每核许可 + 我们的六核处理器 = 史诗般的失败)-他们甚至不愿意花钱升级到 2008 Enterprise,所以这也是窗口之外的异步镜像。
因此,由于这些财务限制,我的手被束缚在 2008 R2 标准版上。
留给我的唯一选择是日志传送和复制(如果我遗漏了什么,请纠正我)——日志传送很粗糙——但是如果管理得当是可行的——所以我们现在把它放在次要位置。
我的问题:
replication sql-server mirroring sql-server-2008-r2 high-availability
replication ×10
mysql ×4
sql-server ×3
innodb ×1
logs ×1
mirroring ×1
performance ×1
postgresql ×1
reporting ×1
ssis ×1