关于mysql could not open logs 的解决方法

关于mysql could not open logs 的解决方法

首先很多刚学习数据库的伙伴在接触到 二进制日志恢复数据库数据的时候会遇到问题,先来分析一下为什么会出现这种错误提示?

不能打来日志文件,或者文件找不到

```sql

C:\Users\Administrator>mysqlbinlog --stop-datetime="2021-05-20 12:25:25" C:\ProgramData\MySQL\MySQL

Server 8.0\Data\HWL-2020-bin.000004 mysql -u root -p

Enter password: ******

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

mysqlbinlog: File 'C:\ProgramData\MySQL\MySQL' not found (OS errno 2 - No such file or directory)

ERROR: Could not open log file

SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;

DELIMITER ;

# End of log file

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

```

这时候有两个地方会导致出现该错误--

> 输入文件地址的时候分隔符 mysql中地址的分隔符为"/" ,而不是windows平台下的“\”。

另一个就是当我们安装mysql时一般会选择安装路径,大部分人会选择一路默认下去,许多老师也推荐此种方式,当然我也推荐。

不过我们在安装完毕之后应该去修改 mysql数据库存放文件的默认存放地址--默认是--C:\ProgramData\MySQL\MySQL Server 8.0\Data

但是你会发现,C:\ProgramData默认是隐藏文件,并且为只读

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608152855820.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDA2MTMzMw==,size_16,color_FFFFFF,t_70)所以当我们用此路径下的日志文件去尝试恢复数据时,会出现不能打开log 的错误;

> 解决方法是--更换数据库文件存储位置----方法如下

停止mysql服务,然后修改配置文件

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608153106172.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDA2MTMzMw==,size_16,color_FFFFFF,t_70)图中第一个是安装路径,第二个是数据库文件存放地址,修改为自己想要存放的位置即可;

改完之后在此开启mysql服务,尝试用二进制文件恢复数据

```sql

C:\Users\Administrator>mysqlbinlog --stop-datetime="2021-06-05 12:25:25" D:/MySqlData/Data/HWL-2020-

bin.000061 mysql -u root -p

Enter password: ******

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;

DELIMITER ;

# End of log file

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

```

以上就是解决方法。

共同学习共同进步,卷起来了!!

原文链接---https://blog.csdn.net/weixin_54061333/article/details/117704143

你可能感兴趣的:(关于mysql could not open logs 的解决方法)