MySql用戶相關(guān)操作翠桦,管理員的必備技能

環(huán)境:mysql8横蜒,navicat
在玩mysql的過(guò)程中,經(jīng)常遇到有很多朋友在云上面玩mysql的時(shí)候,說(shuō)我創(chuàng)建了一個(gè)用戶為什么不能登錄丛晌?為什么沒(méi)有權(quán)限鹰霍?等等各種問(wèn)題,本文看完之后茵乱,這些都不是問(wèn)題了茂洒。

本文的主要內(nèi)容

  • 介紹mysql的權(quán)限工作原理
  • 查看所有用戶
  • 創(chuàng)建用戶
  • 修改密碼
  • 給用戶授權(quán)
  • 查看用戶權(quán)限
  • 撤銷用戶權(quán)限
  • 刪除用戶
  • 權(quán)限原則
  • 總結(jié)

Mysql權(quán)限工作原理

mysql如何識(shí)別一個(gè)用戶

mysql為了安全性考慮,采用主機(jī)名+用戶名來(lái)判斷一個(gè)用戶的身份瓶竭,因?yàn)樵诨ヂ?lián)網(wǎng)中很難通過(guò)用戶名來(lái)判斷一個(gè)用戶的身份督勺,但是我們可以通過(guò)ip或者主機(jī)名判斷一臺(tái)機(jī)器,某個(gè)用戶通過(guò)這個(gè)機(jī)器過(guò)來(lái)的斤贰,我們可以識(shí)別為一個(gè)用戶智哀,所以mysql中采用用戶名+主機(jī)名來(lái)識(shí)別用戶的身份。當(dāng)一個(gè)用戶對(duì)mysql發(fā)送指令的時(shí)候荧恍,mysql就是通過(guò)用戶名和來(lái)源(主機(jī))來(lái)斷定用戶的權(quán)限

Mysql權(quán)限驗(yàn)證分為2個(gè)階段:

階段1:連接數(shù)據(jù)庫(kù)瓷叫,此時(shí)mysql會(huì)根據(jù)你的用戶名及你的來(lái)源(ip或者主機(jī)名稱)判斷是否有權(quán)限連接

階段2:對(duì)mysql服務(wù)器發(fā)起請(qǐng)求操作,如create table送巡、select摹菠、delete、update骗爆、create index等操作次氨,此時(shí)mysql會(huì)判斷你是否有權(quán)限操作這些指令

權(quán)限生效時(shí)間

1,用戶及權(quán)限信息放在庫(kù)名為mysql的庫(kù)中摘投,mysql啟動(dòng)時(shí)煮寡,這些內(nèi)容被讀進(jìn)內(nèi)存并且從此時(shí)生效,所以如果通過(guò)直接操作這些表來(lái)修改用戶及權(quán)限信息的犀呼,需要重啟mysql或者執(zhí)行flush privileges;才可以生效幸撕。
2,用戶登錄之后外臂,mysql會(huì)和當(dāng)前用戶之間創(chuàng)建一個(gè)連接坐儿,此時(shí)用戶相關(guān)的權(quán)限信息都保存在這個(gè)連接中,存放在內(nèi)存中专钉,此時(shí)如果有其他地方修改了當(dāng)前用戶的權(quán)限挑童,這些變更的權(quán)限會(huì)在下一次登錄時(shí)才會(huì)生效

查看mysql中所有用戶

用戶信息在mysql.user表中,如下:

select * from user

結(jié)果如下


image.png

創(chuàng)建用戶

create user 用戶名[@主機(jī)名] [identified by '密碼'];

說(shuō)明:
1.主機(jī)名默認(rèn)值為%跃须,表示這個(gè)用戶可以從任何主機(jī)連接mysql服務(wù)器
2.密碼可以省略,表示無(wú)密碼登錄

示例1

不指定主機(jī)名時(shí)娃兽,表示這個(gè)用戶可以從任何主機(jī)連接mysql服務(wù)器

create user test1 identified by '123456';
image.png

用戶創(chuàng)建之后可以在mysql庫(kù)中通過(guò) select user,host from user;查看到菇民。

其他示例

說(shuō)明:test2的主機(jī)為localhost表示本機(jī),此用戶只能登陸本機(jī)的mysql

create user test2@localhost identified by '123456';

說(shuō)明:test3可以從任何機(jī)器連接到mysql服務(wù)器

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

說(shuō)明:test4可以從192.168.11段的機(jī)器連接mysql

create user 'test4'@'192.168.3.%' identified by '123456';

鏈接信息如圖


image.png

修改密碼

通過(guò)管理員修改密碼

ALTER USER test2@localhost IDENTIFIED BY '123';

ps: mysql8后只能用這種方式,其他的方式不行

給用戶授權(quán)

創(chuàng)建用戶之后第练,需要給用戶授權(quán)阔馋,才有意義。
語(yǔ)法:

grant privileges ON database.table TO 'username'[@'host'] [with grant option]

grant命令說(shuō)明:

  • priveleges (權(quán)限列表)娇掏,可以是all呕寝,表示所有權(quán)限,也可以是select婴梧、update等權(quán)限下梢,多個(gè)權(quán)限之間用逗號(hào)分開(kāi)。

  • ON 用來(lái)指定權(quán)限針對(duì)哪些庫(kù)和表塞蹭,格式為數(shù)據(jù)庫(kù).表名 孽江,點(diǎn)號(hào)前面用來(lái)指定數(shù)據(jù)庫(kù)名,點(diǎn)號(hào)后面用來(lái)指定表名番电,. 表示所有數(shù)據(jù)庫(kù)所有表岗屏。

  • TO 表示將權(quán)限賦予某個(gè)用戶, 格式為username@host,@前面為用戶名漱办,@后面接限制的主機(jī)这刷,可以是IP、IP段娩井、域名以及%崭歧,%表示任何地方。

  • WITH GRANT OPTION 這個(gè)選項(xiàng)表示該用戶可以將自己擁有的權(quán)限授權(quán)給別人撞牢。注意:經(jīng)常有人在創(chuàng)建操作用戶的時(shí)候不指定WITH GRANT OPTION選項(xiàng)導(dǎo)致后來(lái)該用戶不能使用GRANT命令創(chuàng)建用戶或者給其它用戶授權(quán)率碾。
    備注:可以使用GRANT重復(fù)給用戶添加權(quán)限,權(quán)限疊加屋彪,比如你先給用戶添加一個(gè)select權(quán)限所宰,然后又給用戶添加一個(gè)insert權(quán)限,那么該用戶就同時(shí)擁有了select和insert權(quán)限

示例:

grant all on *.* to test2@localhost with grant option;

說(shuō)明:給test2授權(quán)可以操作所有庫(kù)所有權(quán)限畜挥,相當(dāng)于dba

grant select on lunwen.* to 'test3'@'%';

說(shuō)明:test3可以對(duì)lunwen庫(kù)中所有的表執(zhí)行select

grant select(user,host) on mysql.user to 'test1'@'localhost';

說(shuō)明:可以限制只能查某一個(gè)或者某幾個(gè)字段

查看用戶有哪些權(quán)限

show grants for '用戶名'[@'主機(jī)']

show grants for test3;

查看當(dāng)前用戶的權(quán)限

show grants;

撤銷用戶的權(quán)限

語(yǔ)法

revoke all privileges ON database.table FROM '用戶名'[@'主機(jī)'];

可以先通過(guò)show grants命令查詢一下用戶對(duì)于的權(quán)限仔粥,然后使用revoke命令撤銷用戶對(duì)應(yīng)的權(quán)限,示例:

revoke all privileges on lunwen.* from  test3@'%';

刪除用戶

drop user '用戶名'[@‘主機(jī)’]蟹但,示例:

drop user  test3@'%';

授權(quán)原則說(shuō)明

  • 只授予能滿足需要的最小權(quán)限躯泰,防止用戶干壞事,比如用戶只是需要查詢华糖,那就只給select權(quán)限就可以了麦向,不要給用戶賦予update、insert或者delete權(quán)限

  • 創(chuàng)建用戶的時(shí)候限制用戶的登錄主機(jī)客叉,一般是限制成指定IP或者內(nèi)網(wǎng)IP段

  • 初始化數(shù)據(jù)庫(kù)的時(shí)候刪除沒(méi)有密碼的用戶诵竭,安裝完數(shù)據(jù)庫(kù)的時(shí)候會(huì)自動(dòng)創(chuàng)建一些用戶话告,這些用戶默認(rèn)沒(méi)有密碼

  • 為每個(gè)用戶設(shè)置滿足密碼復(fù)雜度的密碼

  • 定期清理不需要的用戶,回收權(quán)限或者刪除用戶

總結(jié)

  • 通過(guò)命令的方式操作用戶和權(quán)限不需要刷新卵慰,下次登錄自動(dòng)生效

  • 通過(guò)操作mysql庫(kù)中表的方式修改沙郭、用戶信息,需要調(diào)用flush privileges;刷新一下裳朋,下次登錄自動(dòng)生效

  • mysql識(shí)別用戶身份的方式是:用戶名+主機(jī)

  • 本文中講到的一些指令中帶主機(jī)的病线,主機(jī)都可以省略,默認(rèn)值為%鲤嫡,表示所有機(jī)器

  • mysql中用戶和權(quán)限的信息在庫(kù)名為mysql的庫(kù)中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末送挑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子泛范,更是在濱河造成了極大的恐慌让虐,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罢荡,死亡現(xiàn)場(chǎng)離奇詭異赡突,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)区赵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門惭缰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人笼才,你說(shuō)我怎么就攤上這事漱受。” “怎么了骡送?”我有些...
    開(kāi)封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵昂羡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我摔踱,道長(zhǎng)虐先,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任派敷,我火速辦了婚禮蛹批,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篮愉。我一直安慰自己腐芍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布试躏。 她就那樣靜靜地躺著猪勇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冗酿。 梳的紋絲不亂的頭發(fā)上埠对,一...
    開(kāi)封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天络断,我揣著相機(jī)與錄音裁替,去河邊找鬼项玛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛弱判,可吹牛的內(nèi)容都是我干的襟沮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼昌腰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼开伏!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起遭商,我...
    開(kāi)封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤固灵,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后劫流,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體巫玻,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年祠汇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了仍秤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡可很,死狀恐怖诗力,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情我抠,我是刑警寧澤苇本,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站菜拓,受9級(jí)特大地震影響瓣窄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尘惧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一康栈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喷橙,春花似錦啥么、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至疙剑,卻和暖如春氯迂,著一層夾襖步出監(jiān)牢的瞬間践叠,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工嚼蚀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留禁灼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓轿曙,卻偏偏與公主長(zhǎng)得像弄捕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子导帝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容