解决mysql服务启动失败:The innodb_system data file ‘ibdata1‘ must be writable问题
更新时间:2026年07月20日 08:47:56 作者:大风向北吹
mysql服务启动失败并提示ibdata1不可写?本文分享通过修改apparmor配置解决InnoDB初始化错误的完整步骤,无需重装系统,轻松修复mysql启动问题
解决mysql服务启动失败问题
mysql服务启动失败,查看/var/log/mysql/error.log文件发现如下错误:
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Failed to initialize builtin plugins.
[ERROR] Aborting

试了网上的修改文件目录权限、删除ib_logfile文件都没用。
最终解决办法
1. 进入/etc/apparmor.d目录
2. 修改usr.sbin.mysqld文件内容,文件中加上如下两行内容(路径根据自己mysql数据库实际目录确定)
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

3. 重启apparmor和mysql服务
systemctl restart apparmor
systemctl restart mysql.service

问题解决!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
一文简单介绍mysql的事务、锁以及MVCC
在MySQL的InnoDB存储引擎中,锁是用于管理并发访问的一种机制,MVCC的核心思想是通过维护数据的多个版本来实现并发控制,这篇文章主要介绍了mysql事务、锁以及MVCC的相关资料,需要的朋友可以参考下
2025-12-12
Mysql修改字段名和修改字段类型的实例代码
MySQL中如何使用SQL语句来修改表中某一个字段的数据类型呢,下面这篇文章主要给大家介绍了关于Mysql修改字段名和修改字段类型的相关资料,需要的朋友可以参考下
2022-05-05
MySQL查询树形结构数据的两种方法
本文主要介绍了MySQL查询树形结构数据的两种方法,可以使用递归查询或者闭包表来实现,具有一定的参考价值,感兴趣的可以了解一下
2023-11-11
MySQL账号权限管理指南(创建账户与授权)
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节,直接使用root账号进行所有操作不仅危险且难以审计操作行为,今天我们来全面解析MySQL账号创建与权限分配的专业方法,需要的朋友可以参考下
2025-06-06
MySQL字符集不一致导致索引失效的解决办法
本文分析了一个由于字符集不一致,导致增加了索引但是无法使用的案例,通过索引进行查找时需要进行数据的比较,字符集不一致时需要使用 convert 函数进行转换,从而导致索引失效,文中有详细的解决办法,需要的朋友可以参考下
2024-04-04
MySQL高可用与扩展方式
本文深入探讨了MySQL的高可用和扩展策略,包括主从复制与读写分离、MySQL集群与负载均衡、分布式数据库架构以及数据库的水平与垂直扩展,每个主题都提供了详细的代码示例,帮助读者理解和应用这些技术,通过这些策略,可以有效地提高MySQL数据库的性能、吞吐量和可用性
2025-03-03
草稿整理后mysql两个数据库结构对比
这篇文章主要为大家详细介绍了mysql两个数据库结构对比结果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
2022-02-02
最新评论