1142 - SELECT command denied to user ‘root‘@‘localhost‘ for table ‘user‘

报错信息:
在这里插入图片描述
问题分析:
用户权限不足,需要分配其一定的权限。
解决办法
(1)找到my.ini并打开,在mysqld下面加上一行"skip-grant-tables"(部分操作会受到限制)(方法二:打开cmd命令提示符,进入mysql.exe所在的文件夹。输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。)
在这里插入图片描述
(2)重启mysql服务
(3)修改权限
①直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。
在这里插入图片描述
②输入show databases; 可以看到所有数据库说明成功登陆。
在这里插入图片描述
③其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
在这里插入图片描述
④输入select * from user where user=‘root’ and host=‘localhost’ 来查看用户信息。在显示的列表中显示:root用户的localhost的权限都是’N’,表示root用户本地登陆不具有权限
在这里插入图片描述
⑤输入以下命令,修改权限

update user set `Select_priv` = 'Y',`Insert_priv` = 'Y',`Update_priv` = 'Y',`Delete_priv` = 'Y',`Create_priv` = 'Y',`Drop_priv` = 'Y', `Reload_priv` = 'Y',`Shutdown_priv` = 'Y',`Process_priv` = 'Y',`File_priv` = 'Y', `Grant_priv` = 'Y', `References_priv` = 'Y',`Index_priv` = 'Y',`Alter_priv` = 'Y', `Super_priv` = 'Y',`Show_db_priv` = 'Y',`Create_tmp_table_priv` = 'Y',`Lock_tables_priv` = 'Y',`Execute_priv` = 'Y',`Repl_slave_priv` = 'Y', `Repl_client_priv` = 'Y',`Create_view_priv` = 'Y', `Show_view_priv` = 'Y', `Create_routine_priv` = 'Y',`Alter_routine_priv` = 'Y',`Create_user_priv` = 'Y', `Event_priv` = 'Y',`Trigger_priv` = 'Y',`Create_tablespace_priv` = 'Y' where user='root' and host='localhost';

结果如下,
在这里插入图片描述
OK,问题解决!(记得将在my.ini加的一行代码去掉,然后重启mysql才算完成!)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郁慕斯-ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值