mysql加强~用户权限介绍分别使用客户端工具和命令来创建用户和分配权限
Posted 一乐乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql加强~用户权限介绍分别使用客户端工具和命令来创建用户和分配权限相关的知识,希望对你有一定的参考价值。
一、用户权限(使用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@\'%\';
以上是关于mysql加强~用户权限介绍分别使用客户端工具和命令来创建用户和分配权限的主要内容,如果未能解决你的问题,请参考以下文章