MySQL——权限

权限组成结构

  • 用户:有用本身的用户名和密码,而且拥有可以操做的权限。
  • 操做权限:限制一个用户可以作什么,能够配置到全局/数据库/表/列

MySQL主要权限

权限 权限级别 权限说明
create 数据库、表或索引 建立数据库、表、索引
drop 数据库或表 删除数据库或表
alter 更改表,好比添加字段、索引
delete 删除数据
index 索引
insert 插入
select 查询
update 更新
create view 视图 建立视图
execute 存储过程 执行存储过程

图片描述

权限的分布

  • 全局:针对全部数据库都有效
  • 数据库:只针对当前数据库有效

图片描述
MySQL中权限的设置也是存储在数据库中的:mysql

  • mysql.user:用户表、包括用户名,密码,主机,全局权限,性能限制
  • mysql.db:数据库权限设置
  • mysql.table_priv:表权限设置
  • mysql.column_priv:列权限设置

权限相关命令

完整语法:sql

  • grant 权限
  • on 数据库对象
  • to 用户 identified by 密码
  • with grant option(给别人权限)
/* 建立用户 */
create user '用户名'@'访问限制' identified by '密码';

/* 赋予anthony用户select、insert权限  *.*表明全部数据库对象 */
grant select,insert on *.* to 'anthony'@'localhost';  
/* 建立用户而且赋予权限 */
grant select,insert on *.* to 'anthony'@'localhost' identified by '密码';

/* 加上with grant option(给别人权限) */
grant select,insert on *.* to 'anthony'@'localhost' identified by '密码' with grant option;

刷新权限

flush privileges;

查看权限

/* 当前用户权限 */
show grants;

/* 特定用户权限 */
show grants for 用户@访问限制;

回收权限

语法:revoke 权限 on 数据库对象 from 用户;数据库

使用revoke撤销所有权限, 操做者必须拥有全局的create user或update权限
revoke all on *.* from anthony;

删除用户

drop user 用户@限制访问;ide

drop user 'anthony'@'%';
相关文章
相关标签/搜索