相关疑难解决方法(0)

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 ×1

replication ×1