您好,登錄后才能下訂單哦!
本篇內容介紹了“mysql8創建、刪除用戶及授權、消權操作的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
mysql -uroot -p
select host,user from mysql.user;
紅色箭頭是主管理員,黃色箭頭是mysql系統自帶的,不要動它。藍色箭頭是子用戶,這個是我以前匹配的,現在刪掉,我們重新來。
drop user '用戶名'@'主機名'; drop user 'wyy'@'192.168.0.105';
create user '用戶名'@'允許那個主機鏈接' identified by '密碼'; create user 'wyy'@'192.168.0.105' identified by 'wyy18222'; 只允許192.168.0.105的主機鏈接
備注:
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的鏈接。
Alter user '用戶名'@'主機名' identified by '新密碼'; alter user 'wyy'@'192.168.0.105' identified by '123';
給用戶授權所有權限
grant all privileges on *.* to '用戶名'@'主機名' with grant option; grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;
grant:授權、授予
privileges:權限,特權
第一個星號:表示所有數據庫
第二個星號:表示所有表
with grant option:表示該用戶可以給其他用戶賦予權限,但不能超過該用戶的權限。這個不加也行。
例如:如果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版本以下還沒試過),要先創建用戶再進行賦權,不能同時進行
flush privileges;
新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,
否則會出現拒絕訪問
還有一種方法,就是重新啟動mysql服務器,來使新設置生效。­
show grants for 'wyy'@'192.168.0.105';
revoke all privileges on *.* from 'wyy'@'192.168.0.105';
用戶有什么權限就撤什么權限
創建用戶:
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創建、刪除用戶及授權、消權操作的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。