1.背景
在虚拟机上ubuntu系统上装了mysql 一次非正常关机导致 mysql服务无法正常启动.
看systemctl status mysql
服务是死的,systemctl start mysql
也无法启动.
2.解决.
我的mysql 是基于 apt install 安装的.所以 错误日志在 /var/log/mysql/error.log
中. tail -f error.log
查看日志发现 有一行 error 是 Table ‘./mysql/user’ is marked as crashed and should be repaired .
看这个报错网上的解决思路是在mysql的bin 目录下用myisamchk myisamchk -c -r ../data/mysql/user.MYI
但这是user表信息文件 所在的文件目录是window下的,在linux环境下要稍做修改.
具体操作:
- 首先进入到
/usr/bin
目录下 通过find . -name 'my*'
指令模糊查询 可以看到 关于mysql自带的一些工具指令: myisamchk 修复启动工具正在其中.
- 在
/usr/bin
下执行myisamchk --recover --quick /var/lib/mysql/mysql/user
指令修复 修复后在看systemctl status mysql
服务已经启动了 大功告成 - 具体的myisamchk 修复使用可以自行百度 .
参考了:https://www.maxbon.cn/2021/05/18/209.html