我有 2 个相同的最新专用 MySQL 服务器,并且我刚刚在两者上配置了双主复制,一切都按预期工作,但问题是我有很多 BIN 文件,其中包含不再存在的非常旧的事件,并且一旦复制开始,我会收到很多错误,如果我选择手动跳过,我将永远这样做,并且不知何故 mysql 表被搞砸了,我无法再访问 mysql,所以有没有办法告诉复制,你现在很好并且完全同步,一切都稍后发生同步并删除两台服务器上的那些 bin 文件?
答案1
一旦你的两个服务器同步,并且复制暂停,请使用:
PURGE MASTER LOGS BEFORE now()
在两台服务器上。这将重置两台服务器上的二进制日志(并删除旧文件)。
确保使用以下命令检查文件名和位置:
SHOW MASTER STATUS
然后,您需要使用以下命令重置位置(在两台服务器上):
CHANGE MASTER TO MASTER_LOG_FILE=mysql-bin.000001,MASTER_LOG_POS=106
显示主状态的示例:
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000228 | 359641126 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)