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'@'%';
相關文章
相關標籤/搜索