MySQL启动后停止,某些服务在未由其他服务或程序使用时将自动停止(解决方法)

问题描述

启动mysql服务弹窗提示:
本地计算机上的mysql服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。如下图示:

mysql-error-01.pngmysql-error-01.png

根据此提示从网上搜索基本都是说删除data目录后重新启动服务即可解决。

但此种方式会丢失数据,所以我们不采取,继续排查。

在data目录下*.err日志文件中我们发现报错信息:

2023-03-30T10:20:05.016000Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 79308260 and the end 79308447.
2023-03-30T10:20:05.016000Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2023-03-30T10:20:05.343600Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2023-03-30T10:20:05.343600Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2023-03-30T10:20:05.343600Z 0 [ERROR] Failed to initialize builtin plugins.
2023-03-30T10:20:05.343600Z 0 [ERROR] Aborting

报错分析:
从报错上,我们发现事务日志有断档,所以我们可以把原来的事务日志ib_logfile0和ib_logfile1重命名备份,然后再重启mysql服务。

解决办法

1、备份data目录下事务日志文件
ib_logfile0修改为ib_logfile0.bak
ib_logfile1修改为ib_logfile1.bak

2、重启mysql服务
在计算机--管理--服务中启动mysql服务。或使用管理员权限打开cmd窗口,执行net start mysql命令启动mysql服务。

C:\Windows\system32>net start mysql
mysql 服务正在启动 .
mysql 服务已经启动成功。

C:\Windows\system32>

(完)

最后修改于:2023年03月31日 11:24

添加新评论