MySQL Error number: MY-010830; Symbol: ER_BINLOG_CANT_LOCATE_OLD_BINLOG_OR_RELAY_LOG_FILES; SQLSTATE: HY000

文档解释

Error number: MY-010830; Symbol: ER_BINLOG_CANT_LOCATE_OLD_BINLOG_OR_RELAY_LOG_FILES; SQLSTATE: HY000

Message: Failed to locate old binlog or relay log files

Error number: MY-010830; Symbol: ER_BINLOG_CANT_LOCATE_OLD_BINLOG_OR_RELAY_LOG_FILES; SQLSTATE: HY000

错误说明:

该错误指明MySQL服务器无法在从库上找到被主库同步的旧binlog文件或者relay log文件,也就是说从库不能从主库获取旧的binlog文件来更新或复制数据。

常见案例

该错误的最常见原因是旧binlog或relay log文件已被彻底删除了,无法恢复,且主库上的最新binlog文件还没有被在从库同步。

另一种可能原因是从库和主库拥有不同的binlog_format参数值,因此,主库同步过来的binlog文件在从库上可能不能被从服务器正常处理。

解决方法:

确保从库上有旧binlog文件,并且具有读取权限。检查binlog文件在从库上是否存在,如果不存在,需要从主库上重新复制到从库上(指的是csn的复制)。同时,需要检查binlog_format是否正确,此外,需要检查主库上的binlog文件是否被同步到从库上,并且从库上是否有这些文件。

如果以上检查仍然无法解决该错误,那么建议重新同步从库和主库之间的数据:

1. 首先,停止从库;

2. 把从库上的数据库拷贝到一个临时的目录;

3. 从主库上导出完整的备份,并导入到从库上;

4. 将临时文件夹中的数据更新到从库中;

5. 开启从库。

你可能感兴趣的