测试账号user1登录提示1142

测试账号user1登录提示1142

问题描述:

仅给user1配置数据库test的权限,登录后会提示“1142 - SELECT command denied to user 'user1'@'localhost' for table 'user' ”

https://img1.sycdn.imooc.com//climg/64f13af809e0de2611850242.jpg

尝试过的解决方式:

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

https://img1.sycdn.imooc.com//climg/64f13b23091f1a9006491069.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小猿 2023-09-01 16:59:44

同学,你好!同学的操作的确是user1可以访问所有数据库。同学可按照老师的操作,可以实现user1只可看到test 数据库,操作如下:

1、打开Navicat,选中新创建的用户名user1,点击编辑“编辑用户”

https://img1.sycdn.imooc.com//climg/64f1a31d0939c92604160224.jpg

2、点击“权限”选项卡

https://img1.sycdn.imooc.com//climg/64f1a362097e74eb08830343.jpg

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

https://img1.sycdn.imooc.com//climg/64f1a38609348fcc11660198.jpg

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

https://img1.sycdn.imooc.com//climg/64f1a4ad0999a10106710894.jpg

操作完成是如下界面

https://img1.sycdn.imooc.com//climg/64f1a5f60933567f14830155.jpg

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

https://img1.sycdn.imooc.com//climg/64f1a7c1092195f104660250.jpg


祝学习愉快~

  • 提问者 曲别针010 #1

    重启数据库和navicat后问题解决了,谢谢

    另外还有个问题,如果创建一个用户就重启下数据库的话,实际环境中影响应该是很大的,这个重启数据库操作是必须得的吗?怎么降低影响

    2023-09-11 08:34:21
  • 好帮手慕小猿 回复 提问者 曲别针010 #2

    同学,你好!是需要重启服务的,可以在用户使用人数较少时,重启mysql服务。像很多网站,需要迭代时也是选择接近凌晨的时间进行网站更新的。数据库也不频繁添加用户、设置用户权限的。

    祝学习愉快~

    2023-09-11 09:09:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师