MySQL8 0 角色管理

2022-05-05 17:03:10 字數 1504 閱讀 8319

建立角色

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的角色呢?解釋起來可能有點抽象,我舉個例子吧,相信朋友們一看就能了解的了,在我們現實中,有市長,局長,省長等等...