测试账号user1登录提示1142
问题描述:
仅给user1配置数据库test的权限,登录后会提示“1142 - SELECT command denied to user 'user1'@'localhost' for table 'user' ”

尝试过的解决方式:
通过百度查询,应该是权限不够,将服务器权限配置后才能成功登录,但这样不就会导致user1可以访问所有的数据库表吗?达不到user1只能访问test的需求

6
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕小猿
2023-09-01 16:59:44
同学,你好!同学的操作的确是user1可以访问所有数据库。同学可按照老师的操作,可以实现user1只可看到test 数据库,操作如下:
1、打开Navicat,选中新创建的用户名user1,点击编辑“编辑用户”

2、点击“权限”选项卡

3、点击“添加权限”选项卡

4、选择“mysql”数据库下的user 表,给用户分配权限,如老师是给user1用户只有查询test 数据库的权限,老师只选了 “select”,选中权限后点击“确定”按钮保存操作

操作完成是如下界面

5、重启mysql 服务,重新打开navicat,使用user1访问新创建的链接,只可看到test 数据库

祝学习愉快~
Python全能工程师
- 参与学习 人
- 提交作业 16425 份
- 解答问题 4469 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星