使用Navicat给MySQL创建用户,并赋予部分表权限

时间:2024-04-11 16:22:59

今天使用Navicat给MySQL创建用户,并赋予权限时,无论怎么设置,都会显示所有的表。将问题记录下来,方便之后的查询

1、首先使用root用户登录数据库

使用Navicat给MySQL创建用户,并赋予部分表权限

2、点击 “用户” 选项,新建用户

使用Navicat给MySQL创建用户,并赋予部分表权限

3、在 “常规选项卡” 中填入需要创建用户的用户名、密码

使用Navicat给MySQL创建用户,并赋予部分表权限
需要注意的是,主机这一选项,若是填安装MySQL机器的IP地址,那么只能在这台机器的本地登陆这个新创建的这个用户,其他机器上将无法。若要在任何机器上登陆,需要填写%(百分号)

4、切换到 “服务器权限” 选项卡,若要只展示某个数据库(我们新建用户的目的,就是想将部分数据库、表展示给该用户),则这些选项一律不勾选

使用Navicat给MySQL创建用户,并赋予部分表权限
如果不小心勾选了这一页的某个选项,那么新创建的用户将会看到该机器上MySQL里的所有的数据库、表

5、切换到 “权限选项卡” ,点击添加权限

使用Navicat给MySQL创建用户,并赋予部分表权限
如下图所示:设置需要展示的库(表),以及分配给该用户的权限(查询、展示该视图)
使用Navicat给MySQL创建用户,并赋予部分表权限

6、最后点击 “保存” 按钮,就成功了

使用Navicat给MySQL创建用户,并赋予部分表权限

7、使用刚才创建的用户名密码,就可以登陆

使用Navicat给MySQL创建用户,并赋予部分表权限
可以看出,只会显示在第5步设置的视图,并且只有查询的权限
使用Navicat给MySQL创建用户,并赋予部分表权限

8、遇到的问题

(1)无论怎么设置,都会展示出来所有的表

详见第4步,是因为勾选了 服务器权限选项卡 下某个选项,取消勾选即可

(2)登陆该用户,打开某个库,显示报错信息

使用Navicat给MySQL创建用户,并赋予部分表权限
出现这种问题的原因是,参照第4步 权限选项卡 ,没有将SelectShow View 全部勾选中(注意:必须都勾选,才会不报错)