利用 MySQL proxies_priv(模擬角色)實(shí)現(xiàn)類似用戶組管理
角色(Role)可以用來批量管理用戶,同一個(gè)角色下的用戶,擁有相同的權(quán)限。
MySQL5.7.X以后可以模擬角色(Role)的功能,通過mysql.proxies_priv模擬實(shí)現(xiàn)
1、配置proxy
mysql> show variables like "%proxy%"; #查看當(dāng)前proxy是否開啟,下圖表示沒有開啟
mysql> set global check_proxy_users =on; #開啟proxy 下圖表示已開啟
mysql> set global mysql_native_password_proxy_users = on;
mysql> exit
Bye #以上設(shè)置參數(shù),對當(dāng)前會話無效,需要退出后重新登錄,或直接設(shè)置到my.cnf中去
2、創(chuàng)建用戶
mysql> create user will_dba; #類似組
mysql> create user 'will';
mysql> create user 'tom';
#密碼就不設(shè)置了,如需設(shè)置密碼后面加上identified by '123'
3、將will_dba的權(quán)限映射(map)到will,tom
mysql> grant proxy on will_dba to will;
mysql> grant proxy on will_dba to tom;
4、給will_dba(模擬的Role)賦予實(shí)際權(quán)限
mysql> grant select on *.* to will_dba;
5、查看 will_dba 的權(quán)限
mysql> show grants for will_dba;
6、查看will,和tom 的權(quán)限
mysql> show grants for will;
mysql> show grants for tom;
7、查看 proxies_priv的權(quán)限
mysql> mysql> select * from mysql.proxies_priv;
8、驗(yàn)證
使用will和tom用戶查看數(shù)據(jù)庫
[root@test-1 ~]# mysql -utom -p
mysql> show databases; #tom用戶我們之前沒有賦予權(quán)限,但這里可以查看
mysql> show tables;
mysql> select * from user\G
mysql.proxies_priv僅僅是對Role的模擬,和Oracle的角色還是有所不同.官方稱呼為Role like
MySQL5.6.X模擬Role功能需要安裝插件,具體方法請參考:
https://dev.mysql.com/doc/refman/5.6/en/proxy-users.html
https://dev.mysql.com/doc/refman/5.6/en/pluggable-authentication.html
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL用戶權(quán)限管理詳解
- MySQL中基本的用戶和權(quán)限管理方法小結(jié)
- mysql命令行下用戶管理方法分享
- MySQL用戶與權(quán)限的管理詳解
- MySQL用戶權(quán)限驗(yàn)證與管理方法詳解
- php實(shí)現(xiàn)mysql數(shù)據(jù)庫連接操作及用戶管理
- MySQL用戶管理
- MySQL用戶賬戶管理和權(quán)限管理深入講解
- Mysql數(shù)據(jù)庫高級用法之視圖、事務(wù)、索引、自連接、用戶管理實(shí)例分析
- mysql用戶權(quán)限管理實(shí)例分析
- mysql用戶管理操作實(shí)例分析
- MySQL 8.0用戶和角色管理原理與用法詳解