首頁 > 資料庫 > mysql教程 > mysql8建立、刪除使用者及授權、消權操作的方法

mysql8建立、刪除使用者及授權、消權操作的方法

PHPz
發布: 2023-05-27 15:25:25
轉載
3064 人瀏覽過

1、登入mysql

mysql -uroot -p
登入後複製

2、先查詢都有哪些使用者

select host,user from mysql.user;
登入後複製

mysql8建立、刪除使用者及授權、消權操作的方法

請不要對黃色箭頭操作,它是MySQL系統自帶的;而紅色箭頭則表示主管理員。藍色箭頭是子用戶,這個是我以前匹配的,現在刪掉,我們重新來。

3、刪除使用者:

drop user '用户名'@'主机名';
drop user 'wyy'@'192.168.0.105';
登入後複製

mysql8建立、刪除使用者及授權、消權操作的方法

4、建立使用者

create user '用户名'@'允许那个主机链接' identified by '密码';

create user 'wyy'@'192.168.0.105' identified by 'wyy18222';
只允许192.168.0.105的主机链接
登入後複製

mysql8建立、刪除使用者及授權、消權操作的方法

備註:

Mysql8.0 預設採用caching-sha2-password 加密,有可能舊的客戶端不支持,可改為mysql_native_password;

create user 'test'@'%' identified with mysql_native_password BY '密码';
登入後複製

百分號%;表示任何ip位址都可以連結

create user ‘wyy’@‘192.168.0.105’ identified by ‘wyy18222’;這是一個只能192.168.0.105的連結。

5、修改密碼

Alter user '用户名'@'主机名' identified by '新密码';
alter user 'wyy'@'192.168.0.105' identified by '123';
登入後複製

6、授權

給使用者授權所有權限

grant all privileges on *.* to '用户名'@'主机名' with grant option;

grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;
登入後複製

grant:授權、授予

privileges :權限,特權

第一個星號:表示所有資料庫

第二個星號:表示所有表格

The "with grant option" indicates that the user can grant permissions to other users, but not beyond the permissions granted to themselves.。這個不加也行。

例如:如果wyy只有select、update權限,沒有insert、delete權限,給另一個使用者授權時,只能授予它select、update權限,不能授予insert、delete權限。

給予使用者授權個別權限

all privileges 可換成select,update,insert,delete,drop,create 等操作

grant select,insert,update,delete on *.* to '用户名'@'主机名';
登入後複製

給使用者授權指定權限

授予使用者指定的資料庫權限

grant all privileges on 数据库 . * to 'wyy'@'192.168.0.105';

grant all privileges on xrs . * to 'wyy'@'192.168.0.105';
将数据库名为xrs的所有权限赋予wyy
登入後複製

給予使用者指定的表格權限

grant all privileges on 数据库 . 指定表名 to 'wyy'@'192.168.0.105';
将某个数据库下的某个表的权限赋予wyy
登入後複製

注意:

網路上有的直接建立並賦權:

grant all privileges * . * to ‘要創建的用戶’@‘localhost’ identified by ‘自定義密碼’;

我在mysql8試了不行(8版本以下還沒試過),要先建立使用者再進行賦權,不能同時進行

7、刷新權限

flush privileges;
新設定​​使用者或更改密碼後需用flush privileges刷新MySQL的系統權限相關表,
否則會出現拒絕存取

還有一種方法,就是重新啟動mysql伺服器,來讓新設定生效。 ­

8、查看使用者授權

show grants for 'wyy'@'192.168.0.105';
登入後複製

mysql8建立、刪除使用者及授權、消權操作的方法

#9、撤銷使用者授權(銷權)

revoke all privileges on *.* from 'wyy'@'192.168.0.105';
登入後複製

使用者有什麼權限就撤銷什麼權限

補充:mysql8.0 建立使用者和授權使用者遇到的坑

#建立使用者:

create user userName@localhost identified with mysql_native_password by 'password' ;(with mysql_native_password 如果沒有這個,Navicat將無法登陸提示:2059 - authentication plugin...錯誤,因為Navicat不支援最新資料庫預設的加密方式);

#授權使用者:

GRANT
ALL PRIVILEGES
ON databaseName.*
TO userName@'ip';(注意这点跟以往数据库都不一样,无需后面跟着IDENTIFIED BY 'password';否则将提示ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'password'' at line 5)
登入後複製

以上是mysql8建立、刪除使用者及授權、消權操作的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板