首頁  >  文章  >  資料庫  >  Mysql8怎麼創建使用者及賦權

Mysql8怎麼創建使用者及賦權

PHPz
PHPz轉載
2023-05-30 16:55:066350瀏覽

1、進入mysql

mysql -uroot -p

2、建立使用者

create user 'testuser1'@'%' identified by '123456';

這裡表示建立一個不限制ip登入的使用者testuser1

該使用者的密碼是123456

%代表不限制ip登入

刷新權限,每一次權限變更後都刷新一下

flush privileges;

在本地新連線都可以登入該使用者了

Mysql8怎麼創建使用者及賦權

這時候你開啟會發現只有information_schema一個資料庫

Mysql8怎麼創建使用者及賦權

#3、給使用者賦權

grant all privileges on test_grant.* to 'testuser1'@'%' with grant option;

這裡表示給使用者testuser1賦予資料庫test_grant(這是我之前建立好的資料庫)中所有表格的所有權限

with grant option表示該使用者可以給其他使用者賦權,但不能超過該使用者的權限

此時查看,使用者testuser1多了一個test_grant資料庫

Mysql8怎麼創建使用者及賦權

#這裡的all privileges 可換成select,insert,update,delete,drop,create等

4、檢視使用者權限

show grants for 'testuser1'@'%';

Mysql8怎麼創建使用者及賦權

5、撤銷使用者權限

revoke all privileges on test_grant.* from 'testuser1'@'%';

這裡表示撤銷使用者testuser1對資料庫test_grant的所有操作權限

注意:這裡如果這麼寫,你會發現你打開還是有資料庫test_grant(不過你無法操作該資料庫了),這是因為我之前創建的時候用到了with grant option,因為all privileges 是除了with grant option的所有權限

執行下列語句回收使用者所有權限即可

revoke all privileges,grant option from 'testuser1'@'%';

6、刪除使用者

drop user 'testuser1'@'%';

7、查詢所有使用者及其權限

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

也可以這樣

SELECT User, Host FROM mysql.user;

附:查看使用者權限

show grants for ‘#userName'@'#host';

#userName 代表使用者名稱

#host 代表存取權限,如下

  • #%代表通配所有host位址權限(可遠端存取)

  • localhost為本機權限(不可遠端存取)

  • 指定特殊Ip存取權限如10.138.106.102

#????本狗要查看的是testUser

show grants for 'testUser'@'%';

Mysql8怎麼創建使用者及賦權

#

以上是Mysql8怎麼創建使用者及賦權的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除