副本服务器 (db2) 中的一些表标记为已崩溃。我们将所有数据库文件(整个/var/lib/mysql
)复制到另一台服务器(db3)以修复这些表。最后我们不得不使用pt-archive
工具从主服务器 (db1) 复制两个最大表的数据。我将固定表文件从临时服务器 (db3) 复制到旧副本 (db2) 并开始复制。它正在工作,但我想开始从主服务器 (db1) 到新副本 (db3) 的新复制,该副本用作临时副本。
我可以这样做吗?
- 复制 master.info 和 relay-log.info 文件
- 在配置文件中设置server_id = 3
RESET SLAVE
- 使用来自步骤 1 的复制文件中的信息开始新的复制
CHANGE MASTER TO MASTER_HOST='XXXX', MASTER_USER='XXX', MASTER_PASSWORD='pass',
MASTER_PORT=3306, MASTER_LOG_FILE='master1-bin.000096', MASTER_LOG_POS=568;
我错过了什么吗?
可能不应该
RESET
——“信息”具有副本所需的内容。Step 0:
SLAVE STOP;
-- 否则数据和日志将不同步。(可能会有更多的“错误”。)我只复制了整个服务器,然后更新了 my.cnf 中的“server_id”。(加上差异 RAM 大小所需的任何更改。)