恢复已清除的mysql binlog文件

我已经在一对服务器上设置了复制.一个是主人,第二是奴隶.

最近在master上将binlog文件清除得太早(通过文件名清除,因此mysql尚未阻止过早删除文件).

现在,SLAVE具有状态:

Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’

我将不会还原丢失的binlog文件,因此从站将从完成的那一刻开始重新读取.

这些文件已经存在,但是如何强制master取消“ unpurge”它的日志列表(因此它们在SHOW BINARY LOGS中可见)?

解决方法:

好吧,我做到了.但是,此解决方案并非百分百安全.

我已将所有文件名输入到mysql-bin.index

find /var/log/mysql/ -wholename '/var/log/mysql/mysql-bin.0*' | sort > mysql-bin.index

(如果要使用它,请先检查mysql-bin.index文件中的文件名格式,然后根据需要进行调整)

然后重新启动mysql,然后mysql在启动时重新加载该文件.

MASTER已准备就绪.

现在足够了

SLAVE STOP;

SLAVE START;

在SLAVE上,它将继续他的工作.

上一篇:mysql备份还原


下一篇:MySQL 数据备份与同步