一、用户权限(使用Navicat创建用户和分配权限)

1、权限结构:全局/数据库/表/列权限

2、主要权限(全部权限-ALL):

权限权限级别权限说明
CREATE数据库、表、索引创建数据库、表、索引
CREATE VIEW视图创建视图
DROP数据库、表删除创建数据库、表
UPDATE更新表
INSERT插入数据于表
DELETE删除表数据
ALTER更改表,比如,添加字段、索引
SELECT查询
INDEX索引
EXECUTE存储过程执行存储过程

3、权限分布:

二、使用Navicat客户端工具创建用户和分配权限:

(1) 全局权限:

(2) 数据库权限:

(3) 表权限:

(4)列权限:

三、mysql分配权限相关命令(授权grant、查看权利show grants、撤销权利revok、删除用户drop user):

1、赋予权限命令 grant:

■ 语法:

grant 权限
on 数据库对象
to 用户identified by ‘密码’
with grant option;

(1) 当已经存在用户(例如shan)时,赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象)到用户shan
语法:grant select on mysqldemo.t_stu to shan@localhost;

grant 权限
on 数据库对象
to 用户;

(2) 当用户不存在时(例:创建用户shan,密码是1),赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象) 到用户shan
语法: grant select on mysqldemo.t_stu to shan@localhost identified by ‘1’;

grant 权限
on 数据库对象
to 用户identified by ‘密码’;

(3) 当用户不存在时, 将授权GRANT OPTION 的权利也赋给当前用户(例:创建用户shan,密码是1),赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象) 到用户shan
语法: grant select on mysqldemo.t_stu to shan@localhost identified by ‘1’ with grant option;

grant 权限
on 数据库对象
to 用户identified by ‘密码’
with grant option;

✿ 分配权限的细节:

■ shan@localhost:shan用户,是只能在本地主机访问。

□ 用户账号:user@host,其中host的值,% 从任意地址访问, 10.250.8.% 只能访问特定的网段, 192.168.1.8 只能访问特定的ip。

localhost: 本机地址。

□ 查看电脑ip命令:ipconfig

2、查看用户的权限命令 show grants:

(1) 查看当前用户权限: show grants;
(2) 查看某个用户权限: show grants for 用户账号;

​ 例如:在cmd控制台,以root 用户进入mysql,然后查看lucy的权限: show grants for lucy@localhost;

3、回收权限命令 revoke:

■ 语法:

revoke 权限
on 数据库对象
from 用户

例如:revoke select on.from lucy@localhost;

□ 注意:使用revoke 回收所有权限,则操作者必须是拥有mysql数据的全局create user或 update 权限。

4、删除用户账号权限 drop user:

■ 语法:drop user 用户账号;

例如:drop user lucy@localhost;

若主机是%,语法记得加上 ” 例如:drop user lucy@’%’;