MySQL Error number: MY-010811; Symbol: ER_BINLOG_CANT_OPEN_LOG; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-010811; Symbol: ER_BINLOG_CANT_OPEN_LOG; SQLSTATE: HY000
Message: Failed to open log (file ‘%s’, errno %d)
以上
错误说明
MY-010811: ER_BINLOG_CANT_OPEN_LOG (ER_BINLOG_CANT_OPEN_LOG) MySQL错误代码意味着MySQL服务器无法打开二进制日志文件。 MySQL预期它将找到该文件,并且它已经错过了该文件。
常见案例
这通常是由于权限问题或文件不存在引起的。 MySQL系统信息记录器不能访问不是它拥有的文件,或者原始的双胞胎文件被删除,或者索引文件和原始文件的权限被更改。
解决方法
一个显而易见的 (但可能不是最好的) 解决方法是保证MySQL服务器拥有所有的binlog文件的所有权的读写权限,以确保它可以正确处理。 如果文件不存在,则必须使用’mysqldump –master-data’或’mysqlbinlog –start-position’从备份或其他设备上重新创建文件,尤其是当索引文件被意外删除时。
另一种解决方案是使用mysqld命令行中的’purge-master-logs’参数,这将重置binlog文件列表,并删除未命名(wrongly-named)的文件,但要小心,使用此选项可能会导致丢失数据。 此外,此操作不会重新创建binlog文件,而且只有当binlog_format设置为表示开启binlogging的值时,此操作才可能重置binlog文件列表中的位置参数。