当前位置: 代码迷 >> 综合 >> mysql报错 1142 - SELECT command denied to user 'root_ssm'@'localhost' for table 'user'
  详细解决方案

mysql报错 1142 - SELECT command denied to user 'root_ssm'@'localhost' for table 'user'

热度:64   发布时间:2023-12-24 05:19:29.0

错误信息的字面意思是:表“user”拒绝用户“root_ssm”@“localhost”的命令 ,很明显用户没有权限,那就给他授权呗!

 

一、使用客户端授权(Navicat Premium 12)
1、使用root用户登陆mysql

2、新建查询,输入指令:

use mysql;

select * from user where user='root_ssm';

SQL语句where后面的条件写要授权的那个用户名

3、执行语句,查看用户的信息

上图标红的地方的值为‘N’,表示没有权限,将其改为Y就行了。

把所有值为‘N’的列改为'Y',改好之后记得一定要重启服务。
 

二、使用Mysql的命令行客户端
1、root用户登陆mysql

2、查看'root_ssm'用户的信息

use mysql;
 
select * from user where user='root_ssm';


同Navicat Premium 12中的一样,查出来的都是'N',将它们都改为‘Y’就行了。

 

3、修改root用户的localhost权限

update user set Select_pri='Y' where user='root_ssm'
根据查询结果中的列名,一个一个的写update语句修改,

全部改好后再刷新MySQL的系统权限相关表:

flush privileges;
 4、修改好后查看表信息

之后重启mysql服务,权限就都有了。
————————————————
版权声明:本文为CSDN博主「我是曾老师」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41097820/article/details/87643357

  相关解决方案