MySQL 容器报错 Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint xxxxxxxxx and the end xxxxxxxxx.\n
问题描述,当有一些用户的机器突然断电关机或者不正常关机之后,DataEase 服务中的 MySQL 容器无法启动,报如下错误时,可以参考此方法
详细报错信息如下
[ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 1333062514 and the end 1333062168.\n","stream":"stderr","time":"2023-07-24T02:41:15.58560711Z"}
[ERROR] InnoDB: Plugin initialization aborted with error Generic error\n","stream":"stderr","time":"2023-07-24T02:41:15.585609332Z"}
[ERROR] Plugin 'InnoDB' init function returned error.\n","stream":"stderr","time":"2023-07-24T02:41:16.204164083Z"}
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.\n","stream":"stderr","time":"2023-07-24T02:41:16.20418651Z"}
[ERROR] Failed to initialize builtin plugins.\n","stream":"stderr","time":"2023-07-24T02:41:16.204188764Z"}
[ERROR] Aborting\n","stream":"stderr","time":"2023-07-24T02:41:16.204190498Z"}
报错原因,一般是服务器断电或者 MySQL 服务不正常结束导致的,和 MySQL redo log 有关。
解决方法,进入 /opt/dataease/data/mysql 目录,将图示两个文件修改,然后执行 dectl reload 命令。
#修改两个文件,这里不建议删除,建议重命名
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
dectl reload