mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限


一、用户权限(使用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@'%';

原文地址:https://www.cnblogs.com/shan333/p/15841486.html