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