利用 MySQL proxies_priv(模擬角色)實現類似用戶組管理
角色(Role)可以用來批量管理用戶,同一個角色下的用戶,擁有相同的權限。
MySQL5.7.X以后可以模擬角色(Role)的功能,通過mysql.proxies_priv模擬實現
1、配置proxy
mysql> show variables like "%proxy%"; #查看當前proxy是否開啟,下圖表示沒有開啟
mysql> set global check_proxy_users =on; #開啟proxy 下圖表示已開啟mysql> set global mysql_native_password_proxy_users = on;
mysql> exitBye #以上設置參數,對當前會話無效,需要退出后重新登錄,或直接設置到my.cnf中去
2、創建用戶
mysql> create user will_dba; #類似組mysql> create user 'will';mysql> create user 'tom'; #密碼就不設置了,如需設置密碼后面加上identified by '123'
3、將will_dba的權限映射(map)到will,tom
mysql> grant proxy on will_dba to will;mysql> grant proxy on will_dba to tom;
4、給will_dba(模擬的Role)賦予實際權限
mysql> grant select on *.* to will_dba;
5、查看 will_dba 的權限
mysql> show grants for will_dba;
6、查看will,和tom 的權限
mysql> show grants for will;
mysql> show grants for tom;
7、查看 proxies_priv的權限
mysql> mysql> select * from mysql.proxies_priv;
8、驗證
使用will和tom用戶查看數據庫
[root@test-1 ~]# mysql -utom -pmysql> show databases; #tom用戶我們之前沒有賦予權限,但這里可以查看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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答