mysql权限分布

image.png

授予权限的原则

1.只授予能满足需要的最小权限
2.创建用户的时候限制用户登陆的主机
3.为每个用户设置满足密码复杂度的密码
4.定期清理不需要的用户

授予权限

2种方式:角色赋予给用户授权;直接给用户授权
授予命令

  1. grant 权限1,权限2,...权限n on 数据库名称 to 用户名@用户地址 identified by '密码'

该权限如果发现没有该用户,则会直接创建一个新用户

grant all privileges on *.* to 'user'@'localhost' identify by '密码'

授予除了grant之外的所有权限

查看权限

show grants;
#或
show grants for current_user;
或
show grants for current_user();
show grants for 'user'@'主机地址'

收回权限

revoke 权限1,权限2,...,权限n on 数据库名称.表名称 from 用户名@用户地址

权限表

mysql服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库中。这些表中最重要的是user表,db表,除此之外,还有table_priv表、column_priv表和proc_priv表等。在mysql启动时,服务器将这些表中权限信息读入内存。
image.png
image.png