MySQL教程(第4版) 課件 第9章 用戶管理和權(quán)限控制_第1頁(yè)
MySQL教程(第4版) 課件 第9章 用戶管理和權(quán)限控制_第2頁(yè)
MySQL教程(第4版) 課件 第9章 用戶管理和權(quán)限控制_第3頁(yè)
MySQL教程(第4版) 課件 第9章 用戶管理和權(quán)限控制_第4頁(yè)
MySQL教程(第4版) 課件 第9章 用戶管理和權(quán)限控制_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章

用戶管理和權(quán)限控制——用戶管理01添加、刪除用戶添加用戶刪除用戶添加、刪除用戶1.添加用戶可以使用語(yǔ)句添加一個(gè)或多個(gè)用戶,并設(shè)置相應(yīng)的密碼。CREATEUSER用戶[IDENTIFIEDBY[PASSWORD]'密碼'],…其中,用戶:'用戶名'@'主機(jī)名'說(shuō)明:(1)在大多數(shù)SQL產(chǎn)品中,用戶名和密碼只由字母和數(shù)字組成。將本地主機(jī)作為MySQL服務(wù)器,則主機(jī)名為localhost。(2)CREATEUSER用于創(chuàng)建新的MySQL賬戶,在系統(tǒng)數(shù)據(jù)庫(kù)mysql的user表中添加一個(gè)新記錄。創(chuàng)建賬戶必須擁有mysql數(shù)據(jù)庫(kù)的全局CREATEUSER權(quán)限或INSERT權(quán)限。如果賬戶已經(jīng)存在,則出現(xiàn)錯(cuò)誤。(3)使用自選的IDENTIFIEDBY子句,可以指定賬戶一個(gè)密碼。在純文本中指定密碼時(shí),需忽略PASSWORD關(guān)鍵詞。添加、刪除用戶【例】添加兩個(gè)新的用戶,king的密碼為queen,palo的密碼為530415。CREATEUSER 'king'@'localhost'IDENTIFIEDBY'queen', 'palo'@'localhost'IDENTIFIEDBY'530415';完成后可切換到mysql數(shù)據(jù)庫(kù),從user表中查到剛剛添加的兩個(gè)用戶記錄:USEmysql;SHOWtables;SELECT*FROMuser;說(shuō)明:(1)在用戶名的后面聲明了關(guān)鍵字localhost,指定了創(chuàng)建用戶使用的MySQL連接來(lái)自于本地主機(jī)。(2)如果兩個(gè)用戶具有相同的用戶名但主機(jī)不同,MySQL將其視為不同的用戶,允許為這兩個(gè)用戶分配不同的權(quán)限集合。(3)如果沒(méi)有輸入密碼,那么MySQL允許相關(guān)的用戶不使用密碼登錄。但是從安全的角度并不推薦這種做法。(4)新創(chuàng)建的用戶還沒(méi)有很多權(quán)限。它們可以登錄到MySQL,但是并不能使用USE語(yǔ)句來(lái)讓任何數(shù)據(jù)庫(kù)成為當(dāng)前數(shù)據(jù)庫(kù),因此無(wú)法訪問(wèn)數(shù)據(jù)庫(kù)的表,只允許進(jìn)行不需要權(quán)限的操作,例如,用一條SHOW語(yǔ)句查詢所有存儲(chǔ)引擎和字符集的列表。添加、刪除用戶2.刪除用戶DROPUSER用戶,...該語(yǔ)句用于刪除一個(gè)或多個(gè)MySQL賬戶,并取消其權(quán)限。刪除賬戶必須擁有系統(tǒng)數(shù)據(jù)庫(kù)mysql的全局CREATEUSER權(quán)限或DELETE權(quán)限。【例】刪除用戶palo。DROPUSERpalo@localhost;刪除后可以用上面介紹的方法查看一下效果。如果被刪的用戶已創(chuàng)建了表、索引或其他數(shù)據(jù)庫(kù)對(duì)象,它們將繼續(xù)保留,因?yàn)镸ySQL并沒(méi)有記錄是誰(shuí)創(chuàng)建了這些對(duì)象。02修改用戶名、密碼修改用戶名修改密碼修改用戶名、密碼1.修改用戶名可以使用下列語(yǔ)句來(lái)修改一個(gè)已經(jīng)存在的用戶的名字。RENAMEUSER老用戶TO新用戶,...該語(yǔ)句用于對(duì)原有MySQL賬戶進(jìn)行重命名。修改用戶名必須擁有全局CREATEUSER權(quán)限或mysql數(shù)據(jù)庫(kù)UPDATE權(quán)限。如果舊賬戶不存在或者新賬戶已存在,則會(huì)出現(xiàn)錯(cuò)誤?!纠繉⒂脩鬹ing的名字修改為ken。RENAMEUSER 'king'@'localhost'TO'ken'@'localhost';2.修改密碼要修改某個(gè)用戶的登錄密碼,可以使用SETPASSWORD語(yǔ)句。SETPASSWORD[FOR用戶]=PASSWORD('新密碼')說(shuō)明:如果不加“FOR用戶”,表示修改當(dāng)前用戶的密碼。加了“FOR用戶”則是修改當(dāng)前主機(jī)上的特定用戶的密碼。用戶名必須以“'用戶名'@'主機(jī)名'”的格式指定?!纠繉⒂脩鬹en的密碼修改為qen。SETPASSWORDFOR'ken'@'localhost'=PASSWORD('qen');第9章

用戶管理和權(quán)限控制——權(quán)限控制01授

權(quán)

限可授予的表權(quán)限和列權(quán)限可授予的數(shù)據(jù)庫(kù)權(quán)限可授予的用戶權(quán)限授予權(quán)限新的用戶不允許訪問(wèn)屬于其他用戶的表,也不能立即創(chuàng)建自己的表,它必須被授權(quán)??梢允谟璧臋?quán)限有以下幾組。(1)列權(quán)限:和表中的一個(gè)具體列相關(guān)。例如,使用UPDATE語(yǔ)句更新xs表學(xué)號(hào)列的值的權(quán)限。(2)表權(quán)限:和一個(gè)具體表中的所有數(shù)據(jù)相關(guān)。例如,使用SELECT語(yǔ)句查詢xs表所有數(shù)據(jù)的權(quán)限。(3)數(shù)據(jù)庫(kù)權(quán)限:和一個(gè)具體的數(shù)據(jù)庫(kù)中的所有表相關(guān)。例如,在已有的xscj數(shù)據(jù)庫(kù)中創(chuàng)建新表的權(quán)限。(4)用戶權(quán)限:和MySQL所有的數(shù)據(jù)庫(kù)相關(guān)。例如,刪除已有的數(shù)據(jù)庫(kù)或者創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)的權(quán)限。授予權(quán)限給某用戶授予權(quán)限可以使用下列語(yǔ)句。GRANT權(quán)限[(列名表)],... ON[對(duì)象類型]{表名|*|*.*|數(shù)據(jù)庫(kù)名.*} TO用戶[IDENTIFIEDBY[PASSWORD]'密碼'],... [WITH選項(xiàng)...]其中,對(duì)象類型:TABLE|FUNCTION|PROCEDURE選項(xiàng):GRANTOPTION|MAX_QUERIES_PER_HOURcount|MAX_UPDATES_PER_HOURcount|MAX_CONNECTIONS_PER_HOURcount|MAX_USER_CONNECTIONScount授予權(quán)限1.可授予的表權(quán)限和列權(quán)限授予表權(quán)限和列權(quán)限時(shí)權(quán)限可以是以下值。SELECT:給予用戶使用SELECT語(yǔ)句訪問(wèn)特定表或列的權(quán)限。用戶也可以在一個(gè)視圖公式中包含表。然而,用戶必須對(duì)視圖公式中指定的每個(gè)表(或視圖)都有SELECT權(quán)限。INSERT:給予用戶使用INSERT語(yǔ)句向一個(gè)特定表中添加行的權(quán)限。DELETE:給予用戶使用DELETE語(yǔ)句向一個(gè)特定表中刪除行的權(quán)限。UPDATE:給予用戶使用UPDATE語(yǔ)句修改特定表中值的權(quán)限。REFERENCES:給予用戶創(chuàng)建一個(gè)外鍵來(lái)參照特定的表的權(quán)限。CREATE:給予用戶使用特定的名字創(chuàng)建一個(gè)表的權(quán)限。ALTER:給予用戶使用ALTERTABLE語(yǔ)句修改表的權(quán)限。INDEX:給予用戶在表上定義索引的權(quán)限。DROP:給予用戶刪除表的權(quán)限。ALL或ALLPRIVILEGES:表示所有權(quán)限名。授予權(quán)限【例】授予用戶ken對(duì)xs表的SELECT權(quán)限。USExscj;GRANTSELECT ONxs TOken@localhost;若在TO子句中給存在的用戶指定密碼,則新密碼將覆蓋原密碼。如果權(quán)限授予了一個(gè)不存在的用戶,MySQL會(huì)自動(dòng)執(zhí)行一條CREATEUSER語(yǔ)句來(lái)創(chuàng)建這個(gè)用戶,但必須為該用戶指定密碼?!纠渴谟鑜iu和zhang新用戶對(duì)xs表的SELECT和UPDATE權(quán)限。GRANTSELECT,UPDATE ONxs TOliu@localhostIDENTIFIEDBY'pwd123',

zhang@localhostIDENTIFIEDBY'pwd123';對(duì)于列權(quán)限,權(quán)限只能取SELECT、INSERT和UPDATE。權(quán)限的后面需要加上列名表?!纠渴谟栌脩鬹en對(duì)xs表的姓名列和學(xué)號(hào)列的UPDATE權(quán)限。USExscj;GRANTUPDATE(姓名,學(xué)號(hào)) ONxs TOken@localhost;授予權(quán)限2.可授予的數(shù)據(jù)庫(kù)權(quán)限表權(quán)限僅適用于一個(gè)特定的表,MySQL還支持針對(duì)整個(gè)數(shù)據(jù)庫(kù)的權(quán)限。例如,在一個(gè)特定的數(shù)據(jù)庫(kù)中創(chuàng)建表和視圖的權(quán)限。授予數(shù)據(jù)庫(kù)權(quán)限時(shí),可以是以下值。SELECT:給予用戶使用SELECT語(yǔ)句訪問(wèn)特定數(shù)據(jù)庫(kù)中所有表和視圖的權(quán)限。INSERT:給予用戶使用INSERT語(yǔ)句向特定數(shù)據(jù)庫(kù)中所有表添加行的權(quán)限。DELETE:給予用戶使用DELETE語(yǔ)句刪除特定數(shù)據(jù)庫(kù)中所有表的行的權(quán)限。UPDATE:給予用戶使用UPDATE語(yǔ)句更新特定數(shù)據(jù)庫(kù)中所有表的值的權(quán)限。REFERENCES:給予用戶創(chuàng)建指向特定的數(shù)據(jù)庫(kù)中的表外鍵的權(quán)限。CREATE:給予用戶使用CREATETABLE語(yǔ)句在特定數(shù)據(jù)庫(kù)中創(chuàng)建新表的權(quán)限。ALTER:給予用戶使用ALTERTABLE語(yǔ)句修改特定數(shù)據(jù)庫(kù)中所有表的權(quán)限。INDEX:給予用戶在特定數(shù)據(jù)庫(kù)中的所有表中定義和刪除索引的權(quán)限。DROP:給予用戶刪除特定數(shù)據(jù)庫(kù)中所有表和視圖的權(quán)限。CREATETEMPORARYTABLES:給予用戶在特定數(shù)據(jù)庫(kù)中創(chuàng)建臨時(shí)表的權(quán)限。CREATEVIEW:給予用戶在特定數(shù)據(jù)庫(kù)中創(chuàng)建新的視圖的權(quán)限。SHOWVIEW:給予用戶查看特定數(shù)據(jù)庫(kù)中已有視圖的視圖定義的權(quán)限。授予權(quán)限在GRANT語(yǔ)法格式中,授予數(shù)據(jù)庫(kù)權(quán)限時(shí),ON關(guān)鍵字后面跟“*”表示當(dāng)前數(shù)據(jù)庫(kù)中的所有表;“數(shù)據(jù)庫(kù)名.*”表示指定數(shù)據(jù)庫(kù)中的所有表。【例】授予用戶ken對(duì)xscj數(shù)據(jù)庫(kù)中的所有表的SELECT權(quán)限。GRANTSELECT ONxscj.* TOken@localhost;【例】授予用戶ken對(duì)xscj數(shù)據(jù)庫(kù)的所有數(shù)據(jù)庫(kù)權(quán)限。USExscj;GRANTALL ON* TOken@localhost;授予權(quán)限3.可授予的用戶權(quán)限MySQL授予用戶權(quán)限時(shí)還可以是以下值。CREATEUSER:給予用戶創(chuàng)建和刪除新用戶的權(quán)限。SHOWDATABASES:給予用戶使用SHOWDATABASES語(yǔ)句查看所有已有數(shù)據(jù)庫(kù)定義的權(quán)限。授予用戶權(quán)限時(shí)ON子句中使用“*.*”,表示所有數(shù)據(jù)庫(kù)的所有表?!纠渴谟栌脩魀eter對(duì)所有數(shù)據(jù)庫(kù)中的所有表的CREATE、ALTERT和DROP權(quán)限。GRANTCREATE,ALTER,DROP ON*.* TOpeter@localhostIDENTIFIEDBY'p123';【例】授予用戶peter創(chuàng)建新用戶的權(quán)限。GRANTCREATEUSER ON*.* TOpeter@localhost;授予權(quán)限為了概括權(quán)限,表列出了可以在哪些級(jí)別授予某條SQL語(yǔ)句權(quán)限。語(yǔ)句用戶權(quán)限數(shù)據(jù)庫(kù)權(quán)限表權(quán)限列權(quán)限SELECTYesYesYesNoINSERTYesYesYesNoDELETEYesYesYesYesUPDATEYesYesYesYesREFERENCESYesYesYesYesCREATEYesYesYesNoALTERYesYesYesNoDROPYesYesYesNoINDEXYesYesYesYesCREATETEMPORARYTABLESYesYesNoNoCREATEVIEWYesYesNoNoSHOWVIEWYesYesNoNoCREATEROUTINEYesYesNoNoALTERROUTINEYesYesNoNoEXECUTEROUTINEYesYesNoNoLOCKTABLESYesYesNoNoCREATEUSERYesNoNoNoSHOWDATABASESYesNoNoNoFILEYesNoNoNoPROCESSYesNoNoNoRELOADYesNoNoNoREPLICATIONCLIENTYesNoNoNoREPLICATIONSLAVEYesNoNoNoSHUTDOWNYesNoNoNoSUPERYesNoNoNoUSAGEYesNoNoNo02權(quán)限轉(zhuǎn)移和限制權(quán)限轉(zhuǎn)移和限制【例】授予用戶caddy對(duì)xs表的SELECT權(quán)限,并允許其將該權(quán)限授予其他用戶。首先在root用戶下授予caddy用戶SELECT權(quán)限:GRANTSELECT ONxscj.xs TOcaddy@localhostIDENTIFIEDBY'19830925' WITHGRANTOPTION;接著,以caddy用戶身份登錄MySQL,登錄方式如下。(1)打開命令行窗口,進(jìn)入mysql安裝目錄下的bin目錄:cdC:\ProgramFiles\MySQL\MySQLServer5.7\bin(2)登錄,輸入命令:MYSQL-hlocalhost-ucaddy-p19830925登錄后,caddy用戶只有查詢xscj數(shù)據(jù)庫(kù)中xs表的權(quán)力,它可以把這個(gè)權(quán)限傳遞給其他用戶,這里假設(shè)用戶jim已經(jīng)創(chuàng)建:GRANTSELECT ONxscj.xs TOjim@localhost;權(quán)限轉(zhuǎn)移和限制說(shuō)明:使用了WITHGRANTOPTION子句后,如果caddy在該表上還擁有其他權(quán)限,則caddy可以將其他權(quán)限也授予Jim而不僅限于SELECT。WITH子句也可以對(duì)一個(gè)用戶授予使用限制,其中,MAX_QUERIES_PER_HOUR次數(shù):表示每小時(shí)可以查詢數(shù)據(jù)庫(kù)的最大次數(shù);MAX_CONNECTIONS_PER_HOUR次數(shù):表示每小時(shí)可以連接數(shù)據(jù)庫(kù)的最大次

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論