严重
数据库
MySQL/MariaDB 服务无法启动
故障现象
systemctl start mysqld 失败,错误日志出现 "InnoDB: Unable to lock ./ibdata1" 或 "Tablespace is missing",业务数据读写中断。
查看原因与解决方案
故障原因
异常断电导致 InnoDB 表空间损坏、数据目录权限错误、磁盘满、my.cnf 参数配置不当(如 innodb_buffer_pool_size 超过物理内存)、残留的崩溃恢复锁文件。
解决方案
1) tail -n 100 /var/log/mysqld.log 定位具体错误;2) 确认磁盘空间与 /var/lib/mysql 属主(mysql:mysql);3) 表空间损坏时先备份 datadir,再以 innodb_force_recovery=1~6 尝试启动并导出数据;4) 恢复后检查并修正 my.cnf;5) 建立主从/定期备份策略。
适用平台:RHEL/CentOS/MySQL 5.7/8.0
查阅 0 次