mysql8創(chuàng)建、刪除用戶以及授權(quán)、消權(quán)操作詳解
1、登錄mysql
mysql -uroot -p
2、先查詢都有哪些用戶
select host,user from mysql.user;
紅色箭頭是主管理員,黃色箭頭是mysql系統(tǒng)自帶的,不要動它。藍(lán)色箭頭是子用戶,這個是我以前匹配的,現(xiàn)在刪掉,我們重新來。
3、刪掉用戶:
drop user '用戶名'@'主機(jī)名'; drop user 'wyy'@'192.168.0.105';
4、創(chuàng)建用戶
create user '用戶名'@'允許那個主機(jī)鏈接' identified by '密碼'; create user 'wyy'@'192.168.0.105' identified by 'wyy18222'; 只允許192.168.0.105的主機(jī)鏈接
備注:
Mysql8.0 默認(rèn)采用 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 '用戶名'@'主機(jī)名' identified by '新密碼'; alter user 'wyy'@'192.168.0.105' identified by '123';
6、授權(quán)
給用戶授權(quán)所有權(quán)限
grant all privileges on *.* to '用戶名'@'主機(jī)名' with grant option; grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;
grant:授權(quán)、授予
privileges:權(quán)限,特權(quán)
第一個星號:表示所有數(shù)據(jù)庫
第二個星號:表示所有表
with grant option:表示該用戶可以給其他用戶賦予權(quán)限,但不能超過該用戶的權(quán)限。這個不加也行。
例如:如果wyy只有select、update權(quán)限,沒有insert、delete權(quán)限,給另一個用戶授權(quán)時,只能授予它select、update權(quán)限,不能授予insert、delete權(quán)限。
給用戶授權(quán)個別權(quán)限
all privileges 可換成 select,update,insert,delete,drop,create 等操作
grant select,insert,update,delete on *.* to '用戶名'@'主機(jī)名';
給用戶授權(quán)指定權(quán)限
給用戶授予指定的數(shù)據(jù)庫權(quán)限
grant all privileges on 數(shù)據(jù)庫 . * to 'wyy'@'192.168.0.105'; grant all privileges on xrs . * to 'wyy'@'192.168.0.105'; 將數(shù)據(jù)庫名為xrs的所有權(quán)限賦予wyy
給用戶授予指定的表權(quán)限
grant all privileges on 數(shù)據(jù)庫 . 指定表名 to 'wyy'@'192.168.0.105'; 將某個數(shù)據(jù)庫下的某個表的權(quán)限賦予wyy
注意:
網(wǎng)上有的直接創(chuàng)建并賦權(quán):
grant all privileges * . * to ‘要創(chuàng)建的用戶’@‘localhost’ identified by ‘自定義密碼’;
我在mysql8試了不行(8版本以下還沒試過),要先創(chuàng)建用戶再進(jìn)行賦權(quán),不能同時進(jìn)行
7、刷新權(quán)限
flush privileges;
新設(shè)置用戶或更改密碼后需用flush privileges刷新MySQL的系統(tǒng)權(quán)限相關(guān)表,
否則會出現(xiàn)拒絕訪問
還有一種方法,就是重新啟動mysql服務(wù)器,來使新設(shè)置生效。
8、查看用戶授權(quán)
show grants for 'wyy'@'192.168.0.105';
9、撤銷用戶授權(quán)(銷權(quán))
revoke all privileges on *.* from 'wyy'@'192.168.0.105';
用戶有什么權(quán)限就撤什么權(quán)限
補(bǔ)充:mysql8.0 創(chuàng)建用戶和授權(quán)用戶遇到的坑
創(chuàng)建用戶:
create user userName@localhost identified with mysql_native_password by 'password';(with mysql_native_password 如果沒有這個,Navicat將無法登陸提示:2059 - authentication plugin...錯誤,因為Navicat不支持最新數(shù)據(jù)庫默認(rèn)的加密方式);
授權(quán)用戶:
GRANT ALL PRIVILEGES ON databaseName.* TO userName@'ip';(注意這點跟以往數(shù)據(jù)庫都不一樣,無需后面跟著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)
總結(jié)
到此這篇關(guān)于mysql8創(chuàng)建、刪除用戶以及授權(quán)、消權(quán)操作的文章就介紹到這了,更多相關(guān)mysql8創(chuàng)建刪除用戶及授權(quán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL5.7升級MySQL8.0的完整卸載與安裝及連接Navicat的步驟
因為一個項目交接需要需要將mysql物理備份文件還原至MySQL5.7,并且將mysql5.7升級到MySQL8.0,下面這篇文章主要給大家介紹了關(guān)于MySQL5.7升級MySQL8.0的完整卸載與安裝及連接Navicat的相關(guān)資料,需要的朋友可以參考下2023-03-03用批處理實現(xiàn)自動備份和清理mysql數(shù)據(jù)庫的代碼
有網(wǎng)友問我在win2003下如何自動備份MySQL數(shù)據(jù)庫,既然是自動備份,那肯定得寫腳本,當(dāng)然我們也可以利用軟件實現(xiàn)2013-08-08MySQL Left JOIN時指定NULL列返回特定值詳解
我們有時會有這樣的應(yīng)用,需要在sql的left join時,需要使值為NULL的列不返回NULL而時某個特定的值,比如0。這個時候,用is_null(field,0)是行不通的,會報錯的,可以用ifnull實現(xiàn),但是COALESE似乎更符合標(biāo)準(zhǔn)2013-07-07