(2020最新)CentOS7 解决登录MySQL后无mysql系统表问题

前言:

今天安装了MySQL,本来可以避免这个问题的,但是由于我的一时疏忽,整出了这个错误。那就解决呗!!!

错误起因:

我是按照这篇博客装的:https://blog.csdn.net/qq_43437122/article/details/103551878

本来初次登录时不需要密码的,但是我撒呼呼的给弄错了,我就以为需要密码但是我不知道,我就去百度如何重置密码。结果是

那篇博客让修改配置文件,然后执行update user set password = ‘123456’ where user =“root” 命令来更新密码,其实这样

写是错误的,然后就导致了我这个错误。

错误解决

网上都是说root权限的错误,但是我试了之后没用,依然报这个错误:access denied for user ‘’@‘localhost’ to database
‘database_name’

此时可能你输入"mysql" “mysql -u root” “mysql -u root -p” 等等都能进入mysql,但是就是没有mysql表,因为这时存在一个“空用
户”。“空用户”即是user列为空,它可以匹配一切用户名,所以此时你以任何方式登录都行,但是登录后的权限不够,所以就没有

mysql等系统表,解决方式如下:

1. 关闭mysql服务
2. 忽略权限登录

2.1 执行命令:

mysqld_safe --skip-grant-tables

执行后会显示:daemon from …啥的信息,再打开一个新窗口

2.2 新打开一个窗口,并执行命令:

mysql -u root
3. 执行以下命令:
use mysql
select * from user where user='' //如果有数据,那么你的问题基本就可以确定了
delete from user where user='';
flush privileges;  //重载权限表

最后那个重载权限命令一定别忘了执行。。。

4. 重启服务

如果重启MySQL服务失败的话,那就重启下机器就行了。再进入mysql你会返现一切正常。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值