第8章 MySQL用戶權(quán)限與維護_第1頁
第8章 MySQL用戶權(quán)限與維護_第2頁
第8章 MySQL用戶權(quán)限與維護_第3頁
第8章 MySQL用戶權(quán)限與維護_第4頁
第8章 MySQL用戶權(quán)限與維護_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章MySQL用戶權(quán)限與維護——用戶管理MySQL教程(第2版)01添加、刪除用戶1.添加用戶2.刪除用戶添加、刪除用戶1.添加用戶語法格式如下:CREATEUSER用戶[IDENTIFIEDBY[PASSWORD]'密碼'][,...]用戶格式為:'用戶名'@'主機名'【例8.1】添加兩個新的用戶,king的密碼為queen,palo的密碼為530415。CREATEUSER 'king'@'localhost'IDENTIFIEDBY'queen’, 'palo'@'localhost'IDENTIFIEDBY'530415';完成后可切換到mysql數(shù)據(jù)庫,從user表中查到剛剛添加的兩個用戶記錄:USEmysqlSHOWTABLES;SELECT*FROMuser添加、刪除用戶2.刪除用戶刪除用戶的語法格式如下:DROPUSER用戶[,用戶]...DROPUSER語句用于刪除一個或多個MySQL賬戶,并取消其權(quán)限。要使用DROPUSER,必須擁有mysql數(shù)據(jù)庫的全局CREATEUSER權(quán)限或DELETE權(quán)限?!纠?.2】刪除用戶palo。DROPUSERpalo@localhost;02修改用戶名、密碼1.修改用戶名2.修改用戶密碼修改用戶名、密碼1.修改用戶名用戶可以使用RENAMEUSER語句來修改一個已經(jīng)存在的SQL用戶的名字,其語法格式如下:RENAMEUSER老用戶TO新用戶[,...]【例8.3】將用戶king的名字修改為ken。RENAMEUSER'king'@'localhost'TO'ken'@'localhost';2.修改用戶密碼要修改某個用戶的登錄密碼,可以使用SETPASSWORD語句,其語法格式如下:SETPASSWORD[FOR用戶]=PASSWORD('新密碼')【例8.4】將用戶ken的密碼修改為qen。SETPASSWORDFOR'ken'@'localhost'=PASSWORD('qen');第8章MySQL用戶權(quán)限與維護——權(quán)限控制01授予權(quán)限1.授予表權(quán)限和列權(quán)限2.授予數(shù)據(jù)庫權(quán)限3.授予用戶權(quán)限授予權(quán)限可以授予的權(quán)限有以下幾組。列權(quán)限:和表中的一個具體列相關(guān)。例如,使用UPDATE語句更新表xs學(xué)號列的值的權(quán)限。表權(quán)限:和一個具體表中的所有數(shù)據(jù)相關(guān)。例如,使用SELECT語句查詢表xs的所有數(shù)據(jù)的權(quán)限。數(shù)據(jù)庫權(quán)限:和一個具體的數(shù)據(jù)庫中的所有表相關(guān)。例如,在已有的xscj數(shù)據(jù)庫中創(chuàng)建新表的權(quán)限。用戶權(quán)限:和MySQL所有的數(shù)據(jù)庫相關(guān)。例如,刪除已有的數(shù)據(jù)庫或者創(chuàng)建一個新的數(shù)據(jù)庫的權(quán)限。(1)(2)(3)(4)授予權(quán)限GRANT語法格式如下:GRANTpriv_type[(列名)]...ON[object_type]{表名或視圖名|*|*.*|數(shù)據(jù)庫名.*}TO用戶[IDENTIFIEDBY[PASSWORD]'密碼']...[WITHwith_option...]object_type格式為:TABLE|FUNCTION|PROCEDUREwith_option格式為:GRANTOPTION|MAX_QUERIES_PER_HOURcount|MAX_UPDATES_PER_HOURcount|MAX_CONNECTIONS_PER_HOURcount|MAX_USER_CONNECTIONScount授予權(quán)限1.授予表權(quán)限和列權(quán)限(1)授予表權(quán)限授予表權(quán)限時,priv_type可以是以下值。①SELECT:使用SELECT語句訪問特定的表的權(quán)力。用戶也可以在一個視圖公式中包含表。②INSERT:使用INSERT語句向一個特定表中添加行的權(quán)利。③DELETE:使用DELETE語句向一個特定表中刪除行的權(quán)利。④UPDATE:使用UPDATE語句修改特定表中值的權(quán)利。⑤REFERENCES:創(chuàng)建一個外鍵來參照特定的表的權(quán)利。⑥CREATE:使用特定的名字創(chuàng)建一個表的權(quán)利。⑦ALTER:使用ALTERTABLE語句修改表的權(quán)利。⑧INDEX:在表上定義索引的權(quán)利。⑨DROP:刪除表的權(quán)利。⑩ALL或ALLPRIVILEGES:表示所有權(quán)限名。授予權(quán)限【例8.5】授予用戶ken在xs表上的SELECT權(quán)限。USExscj;GRANTSELECT ONxs TOken@localhost;【例8.6】用戶liu和zhang不存在,授予它們在xs表上的SELECT和UPDATE權(quán)限。GRANTSELECT,UPDATEONxs TOliu@localhostIDENTIFIEDBY'lpwd’, zhang@localhostIDENTIFIEDBY'zpwd';授予權(quán)限(2)授予列權(quán)限對于列權(quán)限,priv_type的值只能取SELECT、INSERT和UPDATE。權(quán)限的后面需要加上列名column_list?!纠?.7】授予ken在xs表上的學(xué)號列和姓名列的UPDATE權(quán)限。USExscjGRANTUPDATE(姓名,學(xué)號) ONxs TOken@localhost;授予權(quán)限2.授予數(shù)據(jù)庫權(quán)限授予數(shù)據(jù)庫權(quán)限時,priv_type可以是以下值:①SELECT:使用SELECT語句訪問特定數(shù)據(jù)庫中所有表和視圖的權(quán)利。②INSERT:使用INSERT語句向特定數(shù)據(jù)庫中所有表添加行的權(quán)利。③DELETE:使用DELETE語句刪除特定數(shù)據(jù)庫中所有表的行的權(quán)利。④UPDATE:使用UPDATE語句更新特定數(shù)據(jù)庫中所有表的值的權(quán)利。⑤REFERENCES:創(chuàng)建指向特定的數(shù)據(jù)庫中的表外鍵的權(quán)利。⑥CREATE:使用CREATETABLE語句在特定數(shù)據(jù)庫中創(chuàng)建新表的權(quán)利。⑦ALTER:使用ALTERTABLE語句修改特定數(shù)據(jù)庫中所有表的權(quán)利。⑧INDEX:在特定數(shù)據(jù)庫中的所有表上定義和刪除索引的權(quán)利。⑨DROP:刪除特定數(shù)據(jù)庫中所有表和視圖的權(quán)利。⑩CREATETEMPORARYTABLES:在特定數(shù)據(jù)庫中創(chuàng)建臨時表的權(quán)利。?CREATEVIEW:在特定數(shù)據(jù)庫中創(chuàng)建新的視圖的權(quán)利。?SHOWVIEW:查看特定數(shù)據(jù)庫中已有視圖的視圖定義的權(quán)利。?CREATEROUTINE:為特定的數(shù)據(jù)庫創(chuàng)建存儲過程和存儲函數(shù)的權(quán)利。?ALTERROUTINE:更新和刪除數(shù)據(jù)庫中已有的存儲過程和存儲函數(shù)的權(quán)利。?EXECUTEROUTINE:調(diào)用特定數(shù)據(jù)庫的存儲過程和存儲函數(shù)的權(quán)利。?LOCKTABLES:鎖定特定數(shù)據(jù)庫的已有表的權(quán)利。?ALL或ALLPRIVILEGES:表示以上所有權(quán)限名。授予權(quán)限【例8.8】授予ken在xscj數(shù)據(jù)庫中的所有表的SELECT權(quán)限。GRANTSELECT ONxscj.* TOken@localhost;【例8.9】授予ken在xscj數(shù)據(jù)庫中所有的數(shù)據(jù)庫權(quán)限。USExscj;GRANTALL ON* TOken@localhost;授予權(quán)限3.授予用戶權(quán)限MySQL授予用戶權(quán)限時priv_type還可以是以下值。①CREATEUSER:給予用戶創(chuàng)建和刪除新用戶的權(quán)利。②SHOWDATABASES:給予用戶使用SHOWDATABASES語句查看所有已有的數(shù)據(jù)庫的定義的權(quán)利?!纠?.10】授予peter對所有數(shù)據(jù)庫中的所有表的CREATE、ALTERT和DROP權(quán)限。GRANTCREATE,ALTER,DROP ON*.* TOpeter@localhostIDENTIFIEDBY'ppwd';【例8.11】授予peter創(chuàng)建新用戶的權(quán)利。GRANTCREATEUSER ON*.* TOpeter@localhost;授予權(quán)限如表列出了可以在哪些級別授予某條SQL語句權(quán)限。語

句用

權(quán)

限數(shù)據(jù)庫權(quán)限表

權(quán)

限列

權(quán)

限SELECTYesYesYesNoINSERTYesYesYesNoDELETEYesYesYesYesUPDATEYesYesYesYesREFERENCESYesYesYesYesCREATEYesYesYesNoALTERYesYesYesNoDROPYesYesYesNoINDEXYesYesYesYesCREATETEMPORARYTABLESYesYesNoNoCREATEVIEWYesYesNoNoSHOWVIEWYesYesNoNoCREATEROUTINEYesYesNoNoALTERROUTINEYesYesNoNoEXECUTEROUTINEYesYesNoNoLOCKTABLESYesYesNoNoCREATEUSERYesNoNoNoSHOWDATABASESYesNoNoNoFILEYesNoNoNoPROCESSYesNoNoNoRELOADYesNoNoNoREPLICATIONCLIENTYesNoNoNoREPLICATIONSLAVEYesNoNoNoSHUTDOWNYesNoNoNoSUPERYesNoNoNoUSAGEYesNoNoNo02權(quán)限轉(zhuǎn)移和限制權(quán)限轉(zhuǎn)移和限制【例8.12】授予caddy在xs表中的SELECT權(quán)限,并允許其將該權(quán)限授予其他用戶。首先通過root用戶授予caddy用戶SELECT權(quán)限:GRANTSELECT ONxscj.xs TOcaddy@localhostIDENTIFIEDBY'19830925’ WITHGRANTOPTION;接著,以caddy用戶身份登錄MySQL,登錄方式如下。(1)打開命令行窗口,進入MySQL安裝目錄下的bin子目錄:cdE:\MySQL57\bin(2)登錄,輸入命令:mysql-hlocalhost-ucaddy-pnjnu123456登錄后,caddy用戶只有查詢xscj數(shù)據(jù)庫中xs表的權(quán)利,它可以把這個權(quán)限傳遞給其他用戶,這里假設(shè)用戶Jim已經(jīng)創(chuàng)建:GRANTSELECT ONxscj.xs TOJim@localhost;權(quán)限轉(zhuǎn)移和限制WITH子句也可以對一個用戶授予使用限制,其中,MAX_QUERIES_PER_HOURcount:表示每小時可以查詢數(shù)據(jù)庫的次數(shù);MAX_CONNECTIONS_PER_HOURcount:表示每小時可以連接數(shù)據(jù)庫的次數(shù);MAX_UPDATES_PER_HOURcount:表示每小時可以修改數(shù)據(jù)庫的次數(shù)。例如,某人每小時可以查詢數(shù)據(jù)庫多少次。MAX_USER_CONNECTIONScount:表示同時連接MySQL的最大用戶數(shù)。count是一個數(shù)值,對于前三個指定,count如果為0則表示不起限制作用?!纠?.13】授予Jim每小時只能處理一條SELECT語句的權(quán)限。GRANTSELECT ONxs TOJim@localhost WITHMAX_QUERIES_PER_HOUR1;03權(quán)限回收權(quán)限回收要使用REVOKE,用戶必須擁有MySQL數(shù)據(jù)庫的全局CREATEUSER權(quán)限或UPDATE權(quán)限。語法格式如下:REVOKEpriv_type[(列)]... ON{表名或視圖名|*|*.*|數(shù)據(jù)庫名.*} FROM用戶...或者:REVOKEALLPRIVILEGES,GRANTOPTIONFROM用戶...【例8.14】回收用戶caddy在xs表上的SELECT權(quán)限。USExscjREVOKESELECT ONxs FROMcaddy@localhost;第8章MySQL用戶權(quán)限與維護——表維護語句01索引列可壓縮性語句

索引列可壓縮性語句

一個索引列的可壓縮性不是自動更新的。就是說,用戶在某列中創(chuàng)建了一個索引,而該列的可壓縮性是不會立即顯示出來的。這時需要使用ANALYZETABLE語句來更新它,其語法格式如下:ANALYZE[LOCAL|NO_WRITE_TO_BINLOG] TABLE表名...【例8.15】更新表xs的索引的可壓縮性,并隨后顯示。ANALYZETABLExs;SHOWINDEXFROMxs;執(zhí)行結(jié)果如圖。02檢查表是否有錯語句

檢查表是否有錯語句

CHECKTABLE語句用來檢查一個或多個表是否有錯誤,只對MyISAM表和InnoDB表起作用。語法格式如下:CHECKTABLE表名...[option]...option格式為:QUICK|FAST|MEDIUM|EXTENDED|CHANGED【例8.16】檢查xs表是否正確。checktablexs;執(zhí)行結(jié)果如圖。03獲得表校驗和語句

獲得表校驗和語句

對于數(shù)據(jù)庫中的每一個表,用戶都可以使用CHECKSUMTABLE語句獲得一個校驗和。語法格式如下:CHECKSUMTABLE表名...[QUICK|EXTENDED]

【例8.17】獲得表xs的校驗和的值。CHECKSUMTABLExs;執(zhí)行結(jié)果如圖。04優(yōu)化表語句優(yōu)化表語句如果用戶不斷地使用DE

溫馨提示

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

評論

0/150

提交評論