首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL user表损坏案例一则

MySQL user表损坏案例一则

作者头像
DBA札记
发布2023-03-09 15:08:54
发布2023-03-09 15:08:54
1.7K0
举报
文章被收录于专栏:MySQL参数系列MySQL参数系列

环境信息: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

代码语言:javascript
复制
service mysqld start  

3、登录mysql客户端

代码语言:javascript
复制
mysql > repair table mysql.user;

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

代码语言:javascript
复制
service mysqld restart  
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档