建立角色
create role test_role@'%';
授權角色
grant select,insert,update,delete on testdb.* to test_user;
將角色分配給使用者
create user 'test'@'192.168.1.1' identified by '';
create user 'test1'@'192.168.1.2' identified by '';
grant test_user to 'test'@'192.168.1.1','test1'@'192.168.1.2';
啟用角色:
set default role test_user to 'test1'@'192.168.1.2';
select current_role();
這種"啟用"角色的方法可以讓使用者擁有角色所擁有的許可權,但是不難看出來,每次給新建使用者繫結乙個角色,在新建使用者登入之前,都得將該使用者啟用一下,從操作上看不是特別方便,如何讓所有的指定的角色都即時生效呢?
mysql提供了乙個系統引數來解決這個問題,該引數是:
mysql> show variables like '%activate%';
+-----------------------------+-------+
| variable_name | value |
+-----------------------------+-------+
| activate_all_roles_on_login | off |
+-----------------------------+-------+
1 row in set (0.00 sec)
# 該引數是預設關閉的,直接開啟即可。
set global activate_all_roles_on_login=on;
# 持久化
sed -i '79i\activate_all_roles_on_login = on' /data/db/mysql3306/my.cnf
# mysql8.0 永久生效,並寫入 mysql 的 datadir 的 mysqld-auto.cnf 檔案中
set persist activate_all_roles_on_login=on;
撤銷角色
revoke insert, update, delete on testdb.* from test_user;
刪除角色
drop role test_user;
MySQL 8 0使用者和角色管理
mysql8.0新加了很多功能,其中在使用者管理中增加了角色的管理,預設的密碼加密方式也做了調整,由之前的sha1改為了sha2,同時加上5.7的禁用使用者和使用者過期的設定,這樣方面使用者的管理和許可權的管理,也增加了使用者的安全性。mysql8.0中,mysql庫中表的檔案合併到資料根目錄中的m...
mysql8 0提示命令 MySQL8 0操作命令
mysql8.0版本和mysql5.0的加密規則不一樣,而現在的很多任務具等都是不支援的,我們這裡使用的是將mysql使用者登入的加密規則修改為mysql native password的方法來進行解決的。修改加密規則alter user root localhost identified by p...
oracle學習筆記四 角色管理
本來今天還不打算講oracle角色管理的,但是因為上篇筆記中提到了oracle的角色許可權,也不想讓朋友繞太多的彎子,所以這個筆記決定記下關於oracle的角色管理。首先,什麼是oracle的角色呢?解釋起來可能有點抽象,我舉個例子吧,相信朋友們一看就能了解的了,在我們現實中,有市長,局長,省長等等...