Mysql用户、权限和角色管理

Mysql用户、权限和角色管理

数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存区控制机制实现 : )

1. 用户管理

1.1 创建用户

CREATE USER [IF NOT EXISTS]
    user [auth_option] [, user [auth_option]] ...
    DEFAULT ROLE role [, role ] ...
    [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
    [WITH resource_option [resource_option] ...]
    [password_option | lock_option] ...
    [COMMENT 'comment_string' | ATTRIBUTE 'json_object']

常用命令:

create user '用户名'@'登录地址' identified by '密码'

举个栗子:

我们创建一个localhost使用的panfeng用户

create user 'panfeng'@'localhost' identified by 'password';

BodzU1.png

1.2 查看用户

使用root用户登录,查看用户信息:

select user, host from mysql.user

BowEbd.png

1.3 删除用户

常用命令:

drop user '用户名'@'登录地址'

举个栗子:

删除刚刚创建的panfeng用户

drop user 'panfeng'@'localhost';

BoweUI.png

1.4 修改用户密码

再root用户或这修改用户下:

alter user '用户名' identified by '新密码';

举个栗子:
修改panfeng用户的密码为pasword

alter user 'panfeng'@'localhost' identified by 'password';

BofR76.png

2. 权限管理

2.1 权限说明

数据库的存取权限主要有如下几种:

对象权限类型
数据库create database
基本表create table, alter table
视图create view
索引create index
基本表数据select, insert, update, delete, references, all privileges
属性列数据select, insert, update, references, all privileges

2.2 授予权限

我们使用GRANT命令授予权限,通用格式如下:

GRANT <权限>,...
ON <对象类型> <对象名>,...
TO <用户>,...
[WITH GRANT OPTION];

说明:如果指定了WITH GRANT OPTION子句,那么获得该权限的用户还可以将这种权限再授予其他用户。

举个栗子:
给panfeng用户授予Student表的查询权限

grant select on table Student to 'panfeng'@'localhost';

Boyqij.png

2.3 收回权限

我们使用REVOKE命令收回用户权限,命令通用格式如下:

REVOKE <权限>,...
ON <对象类型> <对象名>,...
FROM <用户>,...[CASCADE|RESTRICT]

说明:CASCADE表示级联回收权限, RESTRICT表示当一个用户作为父授权时,不允许直接删除(需先删除子授权)

举个栗子:
收回panfeng用户Student表的查询权限

revoke select on table Student from 'panfeng'@'localhost';

BofCTK.png

2.4 查看用户/角色权限

查看所有权限情况:

SHOW GRANTS;

查看特定用户权限情况:

SHOW GRANTS FOR '用户名'@'登录地址';

举个栗子:

查看panfeng用户的权限:

show grants for 'panfeng'@'localhost';

BoyaGR.png

3. 数据库角色

数据库角色时被命名的一组与数据库操作相关的权限,角色是权限的集合

3.1 创建角色

使用CREATE ROLE命令创建角色,通用命令格式如下:

CREATE ROLE <角色名>

举个栗子:
创建角色r1

create role r1;

Bohm34.png

3.2 给角色授权

与给用户授权相同,这里就不赘述了 : )

3.3 将一个角色授予其他的角色或用户

命令通用格式:

GRANT <角色>,...
TO <角色或用户>,...
[WITH ADMIN OPTION];

说明:如果指定了WITH ADMIN OPTION子句,则获得权限的角色或用户还能将该权限再授予其他的角色。

举个栗子:

将r1角色的权限授予panfeng用户

grant r1 to 'panfeng'@'localhost';

Bohza6.png

3.4 角色权限的回收

同用户权限的回收~~

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值