ITPub博客

首页 > 数据库 > 数据库开发技术 > MySQL user表损坏案例一则

MySQL user表损坏案例一则

原创 数据库开发技术 作者:DBA札记 时间:2023-02-16 17:19:12 0 删除 编辑

环境信息:centos7.5 + mysql 5.7.30

今天业务反馈某业务数据连接不上,登录看了一下,发现数据库服务已经挂了(由于特殊原因,该库没有监控,并且是单点--成本原因,刺激不?!)。于是查看日志,一直在反复刷下图信息。解决尝试:

1、重启--失败

2、修改参数重启--失败

3、查看系统日志-- 发现有oom的提示,增加主机资源配置重启--失败(oom的时间没有对准)

仔细分析现象,查看日志。

分析过程:

ps -ef | grep mysql 发现进程不在了,但是隔一会儿又会出现,pid一直在变化。
于是,我查了一下mysqld.service的配置,发现了如下启动策略:我注释掉该启动策略,mysqld的进程也不闪现了。
手动重启一下,观察日志,报错如下:

结论:user表损坏。

解决方案:
1、mysql参数my.cnf 中的[mysqld]下添加 skip-grant-tables
2、启动mysql

service mysqld start  

3、登录mysql客户端

mysql > repair table mysql.user;

4、注释掉参数中的 skip-grant-tables,重启服务,问题解决。

service mysqld restart  


ps:微信公众号后台回复"技术群"加技术交流群

原文作者:DBA札记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-01-18

  • 博文量
    90
  • 访问量
    40024