修复 mysql 复制

修复 mysql 复制

由于中继 bin 文件,从服务器的磁盘空间不足,因此我停止了 mysql 服务器,删除了中继 bin 文件。更改了 my.cnf 文件以将中继日志指向另一个位置。在从服务器状态中,我注意到“Relay_Master_Log_File”和“Exec_Master_Log_Position”。我使用它们来“更改主服务器”。但它不起作用。我收到提示,提示说无法在旧位置打开中继日志。Mysql 为何仍在查看旧文件,我该如何更改它?

谢谢。

答案1

您应该首先通过发出以下命令删除日志RESET SLAVE

尽管如此,如果你:

  • 对于迄今为止从属数据一致性感到满意。
  • 您有一个记录Exec_Master_Log_Position和相应的日志文件名。
  • 主服务器仍然具有与该日志位置和文件名相对应的日志。

发出STOP SLAVERESET SLAVE。这将从从属服务器中删除所有复制相关信息,包括relay-log.info可能导致您看到的错误的信息。

用于CHANGE MASTER ..重新配置从属设备的日志位置、主机、用户名等。

然后用 将其踢回去START SLAVE

答案2

要立即使其工作,最好的办法可能是:mysqldump --master-data --databases db_name > snapper20091124.sql 并将其复制到您的复制从属服务器。您可以通过翻阅 mysql 转储的前几行来仔细检查日志位置。发出“stop slave;”,执行导入“mysql -u root -p < snapper20091124.sql”,然后发出“start slave”。复制有时是一头不必要的复杂野兽。

答案3

尝试重新启动从属服务器以清除缓存。

相关内容