标签: replication

MySQL 复制 - 为复制引入新的 Slave

我最近担任了一个系统管理员职位,负责管理一组 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),将是:

  • 登录 SL2:
    • STOP SLAVE;
    • FLUSH TABLES WITH READ LOCK;
    • (复制mysql目录到新服务器)
    • 完成后,UNLOCK TABLES;然后START SLAVE;(到目前为止一切正常,SL2 重新上线并赶上)
    • 确保新服务器上的 db 结构正确,并且 master.info 指向正确的位置(正确指向 SL1)
    • 在新服务器上启动 MySQL,检查 Slave SQL 和 I/O 是否正在运行(是的,这很好)

但是,一段时间后,我从二进制日志中收到重复的键插入错误:

110122 17:01:25 [ERROR] Slave SQL: Error 'Duplicate entry '2011-01-22 17:00:01' …
Run Code Online (Sandbox Code Playgroud)

mysql replication

7
推荐指数
1
解决办法
4175
查看次数

监控mysql上的复制

我已经设法设置主从复制

它工作正常。下跌的可能性有哪些?

是否有任何警报工具来监控?

另一件事:我可以在我的复制数据库中运行一个单独的数据库,我只是为了测试目的而运行吗?

mysql replication

7
推荐指数
1
解决办法
6988
查看次数

在mysql中设置循环复制

我有 3 个 MySQL 服务器说A,B,C

我想要做的是,我想让它们都成为主从。如果任何 MySQL 服务器上有更新,它应该被复制到所有服务器。

我研究了循环复制,发现可以用它来实现。

任何人都可以给我完成三台服务器之间所述复制的所有步骤。

还有一点我也想忽略数据库中的一些表。

此外,这种类型的复制有哪些注意事项?

mysql replication

7
推荐指数
2
解决办法
9248
查看次数

MySQL 复制:最重要的从服务器性能配置参数?

我正在设置一个mysql主从配置,slave它位于一个弱得多的服务器上。

因为,如果我理解正确的话,奴隶只能在更新/插入,什么是最关键的配置参数,我可以调整slavemy.cnf,以确保最佳的性能和最小的延迟?

  • 主:32Gb RAM,从:4Gb RAM
  • 主要是 innodb 表
  • 主从上的 Percona-server 5.5

mysql replication performance configuration

7
推荐指数
1
解决办法
9065
查看次数

具有 SQL Server 复制功能的地理分布式应用程序是个好主意吗?

我们目前正在考虑地理分布式应用程序的目标架构。

此应用程序跟踪和安排所有材料单元在各个生产现场的移动。

将有两个逻辑实体:

  • 第一个负责特定商店的运营/本地管理 - 该实体的实例与商店一样多
  • 第二个负责全局管理(例如:商店之间的单位转移),因此与所有运营/本地实体进行通信

这是应用程序的逻辑图:

逻辑架构

这个应用程序的实现不能直接从上图导出,因为我们必须考虑以下约束:

  • 商店位于不同的区域(通常每个区域有几家商店),如果该区域暂时与全球网络隔离,则系统仍应在有限的时间内正常运行。
  • 运营实体要求全球实体工作

因此,我想到了一种新架构,我们将在其中为每个区域创建具有同步数据库的全局实体(相同的可执行文件)的相同实例:

在此处输入图片说明

我想知道是否有人已经使用 SQL Server 复制来实现相同的目标。

这是正确的方法吗?欢迎所有建议/警告!

非常感谢,塞巴斯蒂安。

replication sql-server architecture sql-server-2012

7
推荐指数
1
解决办法
2328
查看次数

复制错误

由于以下错误,我们有一个从服务器已停止复制:

Slave SQL: Query caused different errors on master and slave.
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因可能是什么?什么是修复它的方法?

主从版本均为 MySQL 5.5.30

130726 23:55:45 [Note] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: Shutdown complete

130726 23:58:39 [Note] Plugin 'FEDERATED' is disabled.
130726 23:58:39 [Warning] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: ignoring option '--innodb-file-per-table' due to invalid value 'ON'
130726 23:58:39 [Note] Plugin 'InnoDB' is disabled.
130726 23:58:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130726 23:58:39 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
130726 23:58:39 [Note] Server socket created on IP: '0.0.0.0'.
130726 …
Run Code Online (Sandbox Code Playgroud)

mysql replication mysql-5.5

7
推荐指数
1
解决办法
3458
查看次数

在 PostgreSQL 中创建增量数据库副本

VirtualBox 等虚拟机软件允许进行增量 VM 克隆。即数据,一旦“触及”(打开可写),将被复制并存储在新克隆的增量缓存中。

我正在为 Postgres DBMS 寻找相同的选项。

如何设置增量数据库副本,从原始数据库中读取条目,并从本地副本中读取/修改行?

如果不是在 DBMS 级别,我如何使用单独的 DBMS 实例在文件系统/存储级别模拟此类行为?

背景:这个想法是利用强大的数据库服务器,同时又不会为暂存/开发人员数据库副本带来太多资源开销。

postgresql replication

7
推荐指数
1
解决办法
1876
查看次数

如果我不使用流式复制,如何监控 PostgreSQL WAL 传输?

我们有一个相当简单的设置来从我们的本地主 PostgreSQL 数据库复制到我们在 AWS 中的表示层。我们正在使用 WAL 运输archive_command设置。基本上设置如下所示:

    +-------------+
    |   Master    |
    +-------------+
     WAL  |     
segments  |              
         \|/                     +--------------+
    +-------------+   WAL      +-+------------+ |      
    |             |----------->| Hot Standby  | |
    |      S3     |  segments  |   Slaves     | |
    |             |            |              |-+
    +-------------+            +--------------+
Run Code Online (Sandbox Code Playgroud)

这种设置似乎通常相当健壮,但我还没有想出一种检测故障的好方法,无论是主站未能向上推档案,还是从站或从站未能检索日志文件。什么是确定从站相对于主站是否是最新的好方法?确定 master 是否未能发送 WAL 文件的好方法是什么?

澄清一下,我们严格将奴隶用作只读副本,我们永远不会故障转移到它们。

postgresql replication log-shipping

7
推荐指数
1
解决办法
1158
查看次数

在 PostgreSQL 中进行故障转移后,我们可以使用旧的主数据库与备用数据库同步吗?

如果我的备用​​ (postgres) 在故障转移前落后几秒钟。在 PostgreSQL 中进行故障转移后同步回旧主数据库的最简单方法是什么。

在 Oracle 中,如果启用了闪回,我们可以选择恢复失败的主数据库。

如果我在新的主服务器中故障转移后生成了所有 WAL 档案,我们在 postgres 中有任何这样的选项吗?还是我们需要完全重建备用?

postgresql replication failover

7
推荐指数
1
解决办法
1237
查看次数

如何修复从网络读取时复制事件校验和验证失败。错误代码:1743

我们的服务器有磁盘空间问题。因此,复制的 IO 线程无法启动。

以下是mysql错误日志中的错误:

[注意] Slave I/O 线程:连接到 master 'user@host:3307',复制开始于 log 'mysql-bin.000030' at position 196820914

[错误] 从 I/O:从网络读取时复制事件校验和验证失败。错误代码:1743

[错误] 从站 I/O:中继日志写入失败:无法将来自主站的事件排队,错误代码:1595

我该如何解决问题?

mysql replication

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