mysql -uroot -p
create user 'testuser1'@'%' identified by '123456';
這裡表示建立一個不限制ip登入的使用者testuser1
該使用者的密碼是123456
%代表不限制ip登入
刷新權限,每一次權限變更後都刷新一下
flush privileges;
在本地新連線都可以登入該使用者了
這時候你開啟會發現只有information_schema一個資料庫
grant all privileges on test_grant.* to 'testuser1'@'%' with grant option;
這裡表示給使用者testuser1賦予資料庫test_grant(這是我之前建立好的資料庫)中所有表格的所有權限
with grant option表示該使用者可以給其他使用者賦權,但不能超過該使用者的權限
此時查看,使用者testuser1多了一個test_grant資料庫
#這裡的all privileges 可換成select,insert,update,delete,drop,create等
show grants for 'testuser1'@'%';
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'@'%';
drop user 'testuser1'@'%';
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怎麼創建使用者及賦權的詳細內容。更多資訊請關注PHP中文網其他相關文章!