Linux环境MySQL出现无法启动的问题解决 [InnoDB] InnoDB initialization has started.

目录

起因

强制启用恢复模式

备份数据


起因

服务器重启了,然后服务器启动完成之后我发现MySQL程序没有启动,错误信息如下:

复制代码
2025-04-19T12:46:47.648559Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-04-19T12:46:55.913703Z 0 [Warning] [MY-000081] [Server] option 'max_allowed_packet': unsigned value 107374182400 adjusted to 1073741824.
2025-04-19T12:46:55.913790Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2025-04-19T12:46:55.913893Z 0 [System] [MY-010116] [Server] /www/server/mysql/bin/mysqld (mysqld 8.0.24) starting as process 17471
2025-04-19T12:46:56.017284Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

查看./mysqlbinlog,宝塔的mysqlbinlog日志地址

/www/server/mysql/bin

大概看了binlog日志,发现最后几条的sql并没有问题,然后想起来重启的时候我在导出sql,大概率是因为服务器是突然断点重启,但是此时正在执行sql,造成innodb数据库文件出现错误的原因

强制启用恢复模式

在mysql的配置文件中加入以下内容:

复制代码
innodb_force_recovery = 1

其中参数的含义是:

  • 1 (SRV_FORCE_IGNORE_CORRUPT)
    • 即使检测到损坏的页面,也允许服务器运行。尝试使 SELECT * FROM *tbl_name*跳过损坏的索引记录和页面,这有助于转储表。
  • 2 (SRV_FORCE_NO_BACKGROUND)
    • 阻止主线程和任何清除线程运行。如果在清除操作期间发生意外退出,则此恢复值会阻止它。
  • 3 (SRV_FORCE_NO_TRX_UNDO)
    • 崩溃恢复后不运行事务回滚.
  • 4 (SRV_FORCE_NO_IBUF_MERGE)
    • 阻止插入缓冲区合并操作。如果它们会导致崩溃,请不要这样做。不计算表统计信息。此值可能会永久损坏数据文件。使用此值后,请准备好删除并重新创建所有二级索引。将 InnoDB 设置为只读。
  • 5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
    • 启动数据库时不查看撤消日志:InnoDB 甚至将未完成的事务视为已提交。此值可能会永久损坏数据文件。将 InnoDB 设置为只读。
  • 6(SRV_FORCE_NO_LOG_REDO)
    • 不执行与恢复相关的重做日志前滚。此值可能会永久损坏数据文件。使数据库页处于过时状态,这反过来又可能会给 B 树和其他数据库结构带来更多损坏。将 InnoDB 设置为只读。

从1开始逐步往上尝试启动,我是尝试到2启动成功的

备份数据

启动成功后我们在使用dump导出一下数据库的结构和数据/宝塔直接点击备份数据

备份成功之后我们就可以删除原来的数据库了,由于使用的是恢复模式,而且innodb的文件已经损坏了,所以我们可以找到mysql配置文件,找到对应的数据文件,然后使用rm -rf 文件删除掉原有的数据库文件。

确保已备份全部数据!!!!!!!!

复制代码
rm -rf  /www/server/mysql

删除完之后,重新安装数据库,接着把直接备份的数据库重新导入,MySQL就可以正常启动了。

end

人的一生 必须要学会做一件事 而且要做到透彻 才不枉此生...共勉 💪。

相关推荐
TDengine (老段)7 分钟前
从施工监测到运营预警,桥科院用 TDengine 提升桥梁数据管理能力
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
S1998_1997111609•X1 小时前
论mysql国盾shell-sfa犯罪行为集团下的分项工程及反向注入原理尐深度纳米算法下的鐌檵鄐鉎行为
网络·数据库·网络协议·百度·开闭原则
KmSH8umpK2 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第七篇
数据库·redis·分布式
BU摆烂会噶3 小时前
【LangGraph】持久化实现的三大能力——时间旅行
数据库·人工智能·python·postgresql·langchain
l1t4 小时前
DeepSeek总结的DuckLake 入门
数据库
Joseph Cooper4 小时前
RAG 与 AI Agent:智能体真的需要检索增强生成吗?
数据库·人工智能·ai·agent·rag·上下文工程
light blue bird4 小时前
主子端台二分法任务汇总组件
前端·数据库·.net·桌面端winform
DevilSeagull5 小时前
MySQL(2) 客户端工具和建库
开发语言·数据库·后端·mysql·服务
小李来了!5 小时前
Navicate/plsql连接Oracle数据库教程
数据库·oracle
苍煜5 小时前
慢SQL优化实战教学
java·数据库·sql