如何在MySQL中創(chuàng)建新用戶(hù)并授予權(quán)限

MySQL是最流行的開(kāi)源關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)涯曲。 MySQL服務(wù)器允許我們創(chuàng)建大量用戶(hù)帳戶(hù)并授予適當(dāng)?shù)臋?quán)限,以便用戶(hù)可以訪(fǎng)問(wèn)和管理數(shù)據(jù)庫(kù)揭芍。本教程介紹如何創(chuàng)建MySQL用戶(hù)帳戶(hù)和授予權(quán)限。在你開(kāi)始之前我們假設(shè)您已經(jīng)在系統(tǒng)上安裝了MySQL或MariaDB服務(wù)器卸例。 如果沒(méi)有称杨,您可以按照以下教程之一輕松安裝它:

所有命令都在MySQL shell中作為管理用戶(hù)(創(chuàng)建用戶(hù)帳戶(hù)并定義其權(quán)限所需的最小權(quán)限是CREATE USER 和 GRANT)或root帳戶(hù)執(zhí)行。

要訪(fǎng)問(wèn)MySQL shell筷转,請(qǐng)鍵入以下命令姑原,并在出現(xiàn)提示時(shí)輸入您的MySQL root用戶(hù)密碼:

mysql -u root -p

如果尚未為MySQL root用戶(hù)設(shè)置密碼,則可以省略-p標(biāo)簽呜舒。

創(chuàng)建一個(gè)新的MySQL用戶(hù)帳戶(hù)

MySQL中的用戶(hù)帳戶(hù)由用戶(hù)名和主機(jī)名部分組成锭汛。

要?jiǎng)?chuàng)建新的MySQL用戶(hù)帳戶(hù),請(qǐng)運(yùn)行以下命令:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';

將占位符值newuser替換為您的新用戶(hù)名袭蝗,將占位符值user_password替換為用戶(hù)密碼唤殴。比如:

CREATE USER 'linux'@'localhost' IDENTIFIED BY 'linuxidc.com';
image

在上面的命令中,hostname部分設(shè)置為localhost到腥,這意味著用戶(hù)只能從localhost(即運(yùn)行MySQL Server的系統(tǒng))連接到MySQL服務(wù)器朵逝。

要授予其他主機(jī)的訪(fǎng)問(wèn)權(quán)限,請(qǐng)使用遠(yuǎn)程計(jì)算機(jī)IP更改主機(jī)名部分(localhost)乡范。 例如配名,要從IP 192.168.12.189的計(jì)算機(jī)授予訪(fǎng)問(wèn)權(quán)限,您將運(yùn)行:

CREATE USER 'newuser'@'192.168.12.189' IDENTIFIED BY 'user_password';

若要?jiǎng)?chuàng)建可以從任何主機(jī)連接的用戶(hù)晋辆,請(qǐng)使用“%”通配符作為主機(jī)部分:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

授予MySQL用戶(hù)帳戶(hù)權(quán)限

可以為用戶(hù)帳戶(hù)授予多種類(lèi)型的權(quán)限渠脉。 您可以在此處找到MySQL支持的完整權(quán)限列表。

最常用的權(quán)限是:

  • ALL PRIVILEGES- 授予用戶(hù)帳戶(hù)的所有權(quán)限瓶佳。
  • CREATE - 允許用戶(hù)帳戶(hù)創(chuàng)建數(shù)據(jù)庫(kù)和表连舍。
  • DROP - 允許用戶(hù)帳戶(hù)刪除數(shù)據(jù)庫(kù)和表。
  • DELETE - 允許用戶(hù)帳戶(hù)從特定表中刪除行涩哟。
  • INSERT - 允許用戶(hù)帳戶(hù)將行插入特定表索赏。
  • SELECT - 允許用戶(hù)帳戶(hù)讀取數(shù)據(jù)庫(kù)。
  • UPDATE - 允許用戶(hù)帳戶(hù)更新表行贴彼。

Mysql User表權(quán)限字段說(shuō)明全介紹

字段 --
Select_priv 確定用戶(hù)是否可以通過(guò)SELECT命令選擇數(shù)據(jù)潜腻。
Insert_priv 確定用戶(hù)是否可以通過(guò)INSERT命令插入數(shù)據(jù)。
Update_priv 確定用戶(hù)是否可以通過(guò)UPDATE命令修改現(xiàn)有數(shù)據(jù)器仗。
Delete_priv 確定用戶(hù)是否可以通過(guò)DELETE命令刪除現(xiàn)有數(shù)據(jù)融涣。
Create_priv 確定用戶(hù)是否可以創(chuàng)建新的數(shù)據(jù)庫(kù)和表。
Drop_priv 確定用戶(hù)是否可以刪除現(xiàn)有數(shù)據(jù)庫(kù)和表精钮。
Reload_priv 確定用戶(hù)是否可以執(zhí)行刷新和重新加載MySQL所用各種內(nèi)部緩存的特定命令威鹿,包括日志、權(quán)限轨香、主機(jī)忽你、查詢(xún)和表。
Shutdown_priv 確定用戶(hù)是否可以關(guān)閉MySQL服務(wù)器臂容。在將此權(quán)限提供給root賬戶(hù)之外的任何用戶(hù)時(shí)科雳,都應(yīng)當(dāng)非常謹(jǐn)慎。
Process_priv 確定用戶(hù)是否可以通過(guò)SHOW PROCESSLIST命令查看其他用戶(hù)的進(jìn)程脓杉。
File_priv 確定用戶(hù)是否可以執(zhí)行SELECT INTO OUTFILE和LOAD DATA INFILE命令糟秘。
Grant_priv 確定用戶(hù)是否可以將已經(jīng)授予給該用戶(hù)自己的權(quán)限再授予其他用戶(hù)。例如球散,如果用戶(hù)可以插入尿赚、選擇和刪除foo數(shù)據(jù)庫(kù)中的信息,并且授予了GRANT權(quán)限蕉堰,則該用戶(hù)就可以將其任何或全部權(quán)限授予系統(tǒng)中的任何其他用戶(hù)凌净。
References_priv 目前只是某些未來(lái)功能的占位符;現(xiàn)在沒(méi)有作用嘁灯。
Index_priv 確定用戶(hù)是否可以創(chuàng)建和刪除表索引泻蚊。
Alter_priv 確定用戶(hù)是否可以重命名和修改表結(jié)構(gòu)。
Show_db_priv 確定用戶(hù)是否可以查看服務(wù)器上所有數(shù)據(jù)庫(kù)的名字丑婿,包括用戶(hù)擁有足夠訪(fǎng)問(wèn)權(quán)限的數(shù)據(jù)庫(kù)性雄。可以考慮對(duì)所有用戶(hù)禁用這個(gè)權(quán)限羹奉,除非有特別不可抗拒的原因秒旋。
Super_priv 確定用戶(hù)是否可以執(zhí)行某些強(qiáng)大的管理功能,例如通過(guò)KILL命令刪除用戶(hù)進(jìn)程诀拭,使用SET
GLOBAL 修改全局MySQL變量迁筛,執(zhí)行關(guān)于復(fù)制和日志的各種命令。
Create_tmp_table_priv 確定用戶(hù)是否可以創(chuàng)建臨時(shí)表耕挨。
Lock_tables_priv 確定用戶(hù)是否可以使用LOCK TABLES命令阻止對(duì)表的訪(fǎng)問(wèn)/修改细卧。
Execute_priv 確定用戶(hù)是否可以執(zhí)行存儲(chǔ)過(guò)程尉桩。此權(quán)限只在MySQL 5.0及更高版本中有意義。
Repl_slave_priv 確定用戶(hù)是否可以讀取用于維護(hù)復(fù)制數(shù)據(jù)庫(kù)環(huán)境的二進(jìn)制日志文件贪庙。此用戶(hù)位于主系統(tǒng)中蜘犁,有利于主機(jī)和客戶(hù)機(jī)之間的通信。
Repl_client_priv 確定用戶(hù)是否可以確定復(fù)制從服務(wù)器和主服務(wù)器的位置止邮。
Create_view_priv 確定用戶(hù)是否可以創(chuàng)建視圖这橙。此權(quán)限只在MySQL 5.0及更高版本中有意義。關(guān)于視圖的更多信息导披,參見(jiàn)第34章屈扎。
Show_view_priv 確定用戶(hù)是否可以查看視圖或了解視圖如何執(zhí)行。此權(quán)限只在MySQL 5.0及更高版本中有意義撩匕。關(guān)于視圖的更多信息鹰晨,參見(jiàn)第34章。
Create_routine_priv 確定用戶(hù)是否可以更改或放棄存儲(chǔ)過(guò)程和函數(shù)滑沧。此權(quán)限是在MySQL 5.0中引入的并村。
Alter_routine_priv 確定用戶(hù)是否可以修改或刪除存儲(chǔ)函數(shù)及函數(shù)。此權(quán)限是在MySQL 5.0中引入的滓技。
Create_user_priv 確定用戶(hù)是否可以執(zhí)行CREATE USER命令哩牍,這個(gè)命令用于創(chuàng)建新的MySQL賬戶(hù)。
Event_priv 確定用戶(hù)能否創(chuàng)建令漂、修改和刪除事件膝昆。這個(gè)權(quán)限是MySQL 5.1.6新增的。
Trigger_priv 確定用戶(hù)能否創(chuàng)建和刪除觸發(fā)器叠必,這個(gè)權(quán)限是MySQL 5.1.6新增的荚孵。
create tablespace 創(chuàng)建臨時(shí)表空間。

以上就是Mysql User表權(quán)限字段說(shuō)明全介紹纬朝。

要為用戶(hù)帳戶(hù)授予特定權(quán)限收叶,可以使用以下語(yǔ)法:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

一些示例如下:

對(duì)特定數(shù)據(jù)庫(kù)上的用戶(hù)帳戶(hù)授予所有權(quán)限:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
  • 為所有數(shù)據(jù)庫(kù)上的用戶(hù)帳戶(hù)授予所有權(quán)限:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
  • 通過(guò)數(shù)據(jù)庫(kù)中的特定表格對(duì)用戶(hù)帳戶(hù)的所有權(quán)限:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
  • 通過(guò)特定數(shù)據(jù)庫(kù)為用戶(hù)帳戶(hù)授予多個(gè)權(quán)限:
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';;
  • 顯示MySQL用戶(hù)帳戶(hù)權(quán)限

要查找授予特定MySQL用戶(hù)帳戶(hù)的權(quán)限,請(qǐng)使用SHOW GRANTS語(yǔ)句:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+| Grants for database_user@localhost |+---------------------------------------------------------------------------+| GRANT USAGE ON . TO 'database_user'@'localhost' || GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost' |+---------------------------------------------------------------------------+2 rows in set (0.00 sec)

撤消MySQL用戶(hù)帳戶(hù)的權(quán)限

從用戶(hù)帳戶(hù)撤消一個(gè)或多個(gè)權(quán)限的語(yǔ)法幾乎與授予權(quán)限時(shí)相同共苛。

例如判没,要通過(guò)特定數(shù)據(jù)庫(kù)撤消用戶(hù)帳戶(hù)的所有權(quán)限,請(qǐng)使用以下命令:

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

刪除現(xiàn)有的MySQL用戶(hù)帳戶(hù)

要?jiǎng)h除MySQL用戶(hù)帳戶(hù)隅茎,請(qǐng)使用DROP USER語(yǔ)句:

DROP USER 'user'@'localhost'

上面的命令將刪除用戶(hù)帳戶(hù)及其權(quán)限澄峰。

總結(jié)

本教程僅介紹基礎(chǔ)知識(shí),但對(duì)于想要學(xué)習(xí)如何創(chuàng)建新的MySQL用戶(hù)帳戶(hù)和授予權(quán)限的人來(lái)說(shuō)辟犀,它應(yīng)該是一個(gè)很好的開(kāi)端俏竞。

如果您有任何問(wèn)題或反饋,請(qǐng)隨時(shí)發(fā)表評(píng)論。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末魂毁,一起剝皮案震驚了整個(gè)濱河市玻佩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漱牵,老刑警劉巖夺蛇,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異酣胀,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)娶聘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)闻镶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人丸升,你說(shuō)我怎么就攤上這事铆农。” “怎么了狡耻?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵墩剖,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我夷狰,道長(zhǎng)岭皂,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任沼头,我火速辦了婚禮爷绘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘进倍。我一直安慰自己土至,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布猾昆。 她就那樣靜靜地躺著陶因,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垂蜗。 梳的紋絲不亂的頭發(fā)上楷扬,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音么抗,去河邊找鬼毅否。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蝇刀,可吹牛的內(nèi)容都是我干的螟加。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼捆探!你這毒婦竟也來(lái)了然爆?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤黍图,失蹤者是張志新(化名)和其女友劉穎曾雕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體助被,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剖张,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揩环。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搔弄。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丰滑,靈堂內(nèi)的尸體忽然破棺而出顾犹,到底是詐尸還是另有隱情,我是刑警寧澤褒墨,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布炫刷,位于F島的核電站,受9級(jí)特大地震影響郁妈,放射性物質(zhì)發(fā)生泄漏浑玛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一圃庭、第九天 我趴在偏房一處隱蔽的房頂上張望锄奢。 院中可真熱鬧,春花似錦剧腻、人聲如沸拘央。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)灰伟。三九已至,卻和暖如春儒旬,著一層夾襖步出監(jiān)牢的瞬間栏账,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工栈源, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挡爵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓甚垦,卻偏偏與公主長(zhǎng)得像茶鹃,于是被迫代替她去往敵國(guó)和親涣雕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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

  • 1闭翩,MySQL權(quán)限體系 mysql 的權(quán)限體系大致分為5個(gè)層級(jí): 全局層級(jí): 全局權(quán)限適用于一個(gè)給定服務(wù)器中的所有...
    不排版閱讀 948評(píng)論 0 4
  • 用了mysql好多年挣郭,很少關(guān)注mysql自帶庫(kù),自然也不知道這個(gè)庫(kù)里存放些什么疗韵,在看《MySQL排錯(cuò)指南》時(shí)看到它...
    灼灼2015閱讀 1,877評(píng)論 1 3
  • 引言 數(shù)據(jù)庫(kù)保存著應(yīng)用程序日積夜累記錄下來(lái)的數(shù)據(jù)資產(chǎn)兑障,安全級(jí)別特別高,所以只能讓授權(quán)的用戶(hù)可以訪(fǎng)問(wèn)蕉汪,其他用戶(hù)需一律...
    yichen_china閱讀 1,589評(píng)論 0 2
  • 什么是數(shù)據(jù)庫(kù)流译? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API肤无,用于創(chuàng)建先蒋,訪(fǎng)問(wèn),管理...
    chen_000閱讀 4,035評(píng)論 0 19
  • 如果我能夠從頭活過(guò)宛渐, 我會(huì)試著犯更多的錯(cuò)。 我會(huì)放松一點(diǎn)眯搭,我會(huì)靈活一點(diǎn)窥翩。 我會(huì)比這一趟過(guò)得傻。 很少有什么事情能讓...
    將一同學(xué)閱讀 334評(píng)論 0 0