01 背景
一直正常使用的MySQL,今天突然启动失败了,如下图所示
使用命令查看状态
02 分析
- MySQL启动失败,同时查看状态是stopped,故用命令手动启动,发现mysql服务无法启动,无法启动,玩鸟,大问题啦
- 进入MySQL安装目录查看err日志
- 打开这个文件,用notepad++打开,发现 I/O error reading the header from the binary log. ,仔细会议原来昨天用清理软件对log文件进行了清理,导致无法读取正确的binlog文件,故而启动不了
2024-04-13T02:23:14.892704Z 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2024-04-13T02:23:14.892706Z 0 [System] [MY-010116] [Server] D:\mysoftware\mysql-8.0.19-winx64\bin\mysqld (mysqld 8.0.19) starting as process 3180
2024-04-13T02:23:16.084773Z 0 [ERROR] [MY-010958] [Server] I/O error reading the header from the binary log.
2024-04-13T02:23:16.084774Z 0 [ERROR] [MY-010041] [Server] Can’t init tc log
2024-04-13T02:23:16.085773Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-04-13T02:23:17.117832Z 0 [System] [MY-010910] [Server] D:\mysoftware\mysql-8.0.19-winx64\bin\mysqld: Shutdown complete (mysqld 8.0.19) MySQL Community Server - GPL.
03 解决
- 打开同目录下的binlog.index 文件,这里面记录的文件都是mysql服务启动时会去读的文件,现在正是因为这些文件被清理了,导致读取不到就不让启动,所以把这里面的内容全删,再启动MySQL就行了
- 删除此文件内容后保存,再启动MySQL服务,成功,搞定收工!
查看状态已是running
- 又可以快乐的使用了
04 总结
在使用清理工具清理电脑的时候,把binlog误删,大家以后也要多注意