0
点赞
收藏
分享

微信扫一扫

09 MySQL用户管理

腾讯优测 2022-05-02 阅读 212

文章目录


用户管理

如果我们只能使用root用户,这样存在安全隐患,因为root可以访问所有的数据库和表。这时,就需要使用MySQL的用户管理。

从而限制某个特定的用户只能访问特定的数据库和表,并且对其权限作出一定的限制,比如只有可读权限。

查看用户信息

MySQL中的用户信息,都存储在系统数据库mysql的user表中:
select host,user,authentication_string from user;
在这里插入图片描述

  • host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
  • user:用户名
  • authentication_string:用户密码通过password函数加密后的

创建用户

create user '用户名'@'登陆主机/ip' identified by '密码';

  • %从任意处登录,一般只有root用户设置

  • 普通用户一般只会设置在某个地方登录来保证安全性,%一般只会设置root用户

在这里插入图片描述

通过Windows登录新创建的用户:
在这里插入图片描述

由于新用户没有权限,因此无法访问数据库。

删除用户

drop user '用户名'@'主机名';

修改用户密码

  • 自己修改密码:set password=password('新的密码');
  • root用户修改指定用户的密码:set password for '用户名'@'主机名'=password(‘新的密码’);

在这里插入图片描述


数据库的权限

给用户赋权

查看数据库权限:

  • show grants for '用户名'@'登陆位置';
  • 查看权限列表 select * from mysql.user;

给用户赋权:
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码'];

  • 权限列表:多个权限用逗号分开,如果使用all则赋予所有权利。
  • 库.对象名 :库.*表示某个数据库中的所有数据对象(表,视图,存储过程等),*.*表示所有库的所有数据对象。
  • identified by:可选,如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。

权限刷新:flush privileges;

比如要给test用户查看和修改test表的权限:
在这里插入图片描述

在这里插入图片描述

回收权限

revoke 权限列表 on 库.对象名 from ‘用户名’@‘登陆位置’;

举报

相关推荐

0 条评论