MySQL數(shù)據(jù)庫(kù) 課件 5.1 用戶(hù)與權(quán)限的開(kāi)發(fā)_第1頁(yè)
MySQL數(shù)據(jù)庫(kù) 課件 5.1 用戶(hù)與權(quán)限的開(kāi)發(fā)_第2頁(yè)
MySQL數(shù)據(jù)庫(kù) 課件 5.1 用戶(hù)與權(quán)限的開(kāi)發(fā)_第3頁(yè)
MySQL數(shù)據(jù)庫(kù) 課件 5.1 用戶(hù)與權(quán)限的開(kāi)發(fā)_第4頁(yè)
MySQL數(shù)據(jù)庫(kù) 課件 5.1 用戶(hù)與權(quán)限的開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

主講教師:姜云橋任務(wù)5.1用戶(hù)與權(quán)限的開(kāi)發(fā)子項(xiàng)目5數(shù)據(jù)庫(kù)高級(jí)管理功能開(kāi)發(fā)任務(wù)目標(biāo)1.能使用createuser語(yǔ)句來(lái)創(chuàng)建用戶(hù)2.能用password語(yǔ)句設(shè)置用戶(hù)密碼、給密碼加密3.能用grant語(yǔ)句創(chuàng)建用戶(hù)并授予權(quán)限以及使用revoke語(yǔ)句回收權(quán)限知識(shí)目標(biāo)1.了解安全性2.掌握createuser語(yǔ)句3.掌握password語(yǔ)句4.掌握grant語(yǔ)句5.掌握revoke語(yǔ)句能力目標(biāo)任務(wù)要求本任務(wù)將學(xué)習(xí)使用CREATEUSER語(yǔ)句來(lái)創(chuàng)建用戶(hù),用PASSWORD語(yǔ)句設(shè)置用戶(hù)密碼、給密碼加密,用grant語(yǔ)句創(chuàng)建用戶(hù)并授予權(quán)限以及使用REVOKE語(yǔ)句回收權(quán)限的方法,并嘗試通過(guò)修改MySQL授權(quán)表來(lái)創(chuàng)建用戶(hù)、設(shè)置密碼和授予權(quán)限。任務(wù)必備知識(shí)MySQL用戶(hù)包括root用戶(hù)和普通用戶(hù)。這兩種用戶(hù)的權(quán)限是不一樣的。root用戶(hù)是超級(jí)管理員,擁有所有的權(quán)限,包括創(chuàng)建用戶(hù)、刪除用戶(hù)和修改普通用戶(hù)的密碼等管理權(quán)限。而普通用戶(hù)只擁有時(shí)賦予它的權(quán)限當(dāng)用戶(hù)登錄MySQL服務(wù)器執(zhí)行各種操作時(shí),它首先向服務(wù)器發(fā)送連接請(qǐng)求,確認(rèn)用戶(hù)的操作請(qǐng)求是否被允許。這個(gè)過(guò)程稱(chēng)為MySQL中的訪問(wèn)控制過(guò)程。MySQL的訪問(wèn)控制分為兩個(gè)階段:連接核實(shí)階段和請(qǐng)求核實(shí)階段;MySQL的訪問(wèn)主要分為兩個(gè)階段:連接驗(yàn)證和權(quán)限控制。任務(wù)必備知識(shí)想一想MySQL創(chuàng)建用戶(hù)賬戶(hù)的方法?任務(wù)必備知識(shí)5.1.1用戶(hù)管理MySQL使用createuser語(yǔ)句創(chuàng)建用戶(hù)。createuseruser_name1identifiedby‘password1’,user_name2identifiedby‘password2’,...一、創(chuàng)建用戶(hù)以root身份登錄到服務(wù)器上后,可以添加新賬戶(hù),賬戶(hù)信息將被保存在數(shù)據(jù)庫(kù)mysql的user表中。任務(wù)必備知識(shí)5.1.1用戶(hù)管理【任務(wù)5.1.1】創(chuàng)建兩個(gè)用戶(hù),用戶(hù)名分別為test_user1和test_user2,其中,test_user1只允許從本機(jī)登錄,test_user2允許從任意主機(jī)登錄,兩個(gè)用戶(hù)密碼都設(shè)置為123456mysql>createuser'test_user1'@'localhost'identifiedby'123456',->'test_user2'@'%'identifiedby'123456';任務(wù)必備知識(shí)5.1.1用戶(hù)管理可通過(guò)查詢(xún)命令查看創(chuàng)建的用戶(hù)情況:mysql>selectuser,hostfrommysql.userwhereuserlike'test_%';任務(wù)必備知識(shí)5.1.1用戶(hù)管理【任務(wù)5.1.2】創(chuàng)建兩個(gè)用戶(hù),用戶(hù)名分別為test_user3和test_user4,其中,test_user3只允許從主機(jī)192.168.2.10登錄,密碼為123456;test_user4允許從網(wǎng)段為192.168.1.0/24的主機(jī)登錄,密碼為空mysql>createuser'test_user3'@'192.168.2.10'identifiedby'123456',->'test_user4'@'192.168.1.%'identifiedby'';任務(wù)必備知識(shí)5.1.1用戶(hù)管理查詢(xún)創(chuàng)建的用戶(hù)信息:mysql>selectuser,hostfrommysql.userwhereuserlike'test_%';任務(wù)必備知識(shí)5.1.1用戶(hù)管理修改用戶(hù)最常用的操作包括修改用戶(hù)標(biāo)識(shí)和用戶(hù)密碼。二、修改用戶(hù)1.修改用戶(hù)密碼通過(guò)alteruser語(yǔ)句修改:alteruseruser1identifiedby‘password’,user2identifiedby‘password’,...任務(wù)必備知識(shí)5.1.1用戶(hù)管理【任務(wù)5.1.3】修改用戶(hù)test_user4的密碼為123456mysql>alteruser'test_user4'@'192.168.1.%'identifiedby'123456';通過(guò)setpassword語(yǔ)句修改:setpassword[foruser]=password('new_password')任務(wù)必備知識(shí)5.1.1用戶(hù)管理【任務(wù)5.1.4】修改用戶(hù)test_user4的密碼為12345678mysql>setpasswordfor'test_user4'@'192.168.1.%'='12345678';任務(wù)必備知識(shí)5.1.1用戶(hù)管理2.修改用戶(hù)標(biāo)識(shí)如果需要修改用戶(hù)標(biāo)識(shí),MySQL提供了renameuser命令:renameuserold_usertonew_user,old_usertonew_user,...任務(wù)必備知識(shí)5.1.1用戶(hù)管理【任務(wù)5.1.5】將用戶(hù)’test_user1’@’localhost’修改為’my_user1’@’localhost’mysql>renameuser'test_user1'@'localhost'to'my_user1'@'localhost';任務(wù)必備知識(shí)5.1.1用戶(hù)管理dropuser[ifexists]user1,user2,...三、刪除用戶(hù)【任務(wù)5.1.6】刪除用戶(hù)test_user2、test_user3、test_user4mysql>dropuserifexists'test_user2'@’%',->'test_user3'@'192.168.2.10',->'test_user4'@’192.168.1.%';任務(wù)必備知識(shí)想一想MySQL如何授予用戶(hù)權(quán)限?任務(wù)必備知識(shí)5.1.2權(quán)限管理新創(chuàng)建的用戶(hù)默認(rèn)只有usage權(quán)限,只能連接數(shù)據(jù)庫(kù),而沒(méi)有任何操作權(quán)限,如果需要其他操作權(quán)限,它必須被授權(quán)。一、授予權(quán)限授權(quán)可通過(guò)grant語(yǔ)句完成:grantpriv_type,priv_type,...onpriv_leveltouser_or_role,user_or_role,...[withgrantoption]任務(wù)必備知識(shí)5.1.2權(quán)限管理1.全局權(quán)限存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的user表中,作用于所有的數(shù)據(jù)庫(kù),使用*.*表示?!救蝿?wù)5.1.7】授權(quán)用戶(hù)my_user1對(duì)全部數(shù)據(jù)庫(kù)的所有權(quán)限mysql>grantallon*.*to'my_user1'@'localhost';設(shè)置完權(quán)限后,可通過(guò)showgrantsforuser查看權(quán)限:mysql>showgrantsfor'my_user1'@'localhost';任務(wù)必備知識(shí)5.1.2權(quán)限管理2.數(shù)據(jù)庫(kù)級(jí)權(quán)限存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的db表中,作用于指定數(shù)據(jù)庫(kù)中的所有對(duì)象上,使用db_name.*表示?!救蝿?wù)5.1.8】授予用戶(hù)my_user1對(duì)jxgl庫(kù)的所有表有select、insert、update、delete的權(quán)限mysql>grantselect,insert,update,deleteonjxgl.*to'my_user1'@'localhost';任務(wù)必備知識(shí)5.1.2權(quán)限管理3.表級(jí)權(quán)限存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的tables_priv表中,作用于整個(gè)表上,使用db_name.table_name表示。如果沒(méi)有指定db_name,將使用默認(rèn)數(shù)據(jù)庫(kù)?!救蝿?wù)5.1.9】授予用戶(hù)my_user1對(duì)jxgl庫(kù)中student表的查詢(xún)和更新的權(quán)限mysql>grantselect,updateonjxgl.studentto'my_user1'@'localhost';任務(wù)必備知識(shí)5.1.2權(quán)限管理4.列級(jí)權(quán)限存儲(chǔ)在mysql數(shù)據(jù)庫(kù)中的columns_priv表中,作用于表的指定列上,與其他級(jí)別權(quán)限表示方式不同,列權(quán)限后面緊跟作用的具體的列名,如select(s_name),對(duì)s_name列的查詢(xún)權(quán)限?!救蝿?wù)5.1.10】授予my_user1在student表上的學(xué)號(hào)列和姓名列的UPDATE權(quán)限mysql>grantupdate(s_no,s_name)onstudentto'my_user1'@'localhost';沒(méi)有指定數(shù)據(jù)庫(kù),此時(shí)默認(rèn)使用在當(dāng)前數(shù)據(jù)庫(kù),可通過(guò)database()函數(shù)查看當(dāng)前所用的數(shù)據(jù)庫(kù):mysql>selectdatabase();任務(wù)必備知識(shí)5.1.2權(quán)限管理二、回收權(quán)限r(nóng)evoke命令用于回收用戶(hù)權(quán)限。【格式一】revoke[ifexists]priv_type,priv_type,...onpriv_levelfromuser_or_role,user_or_role,...【格式二】revoke[ifexists]all,grantoptionfromuser_or_role,user_or_role,...任務(wù)必備知識(shí)5.1.2權(quán)限管理【任務(wù)5.1.11】回收用戶(hù)’my_user1’@‘localhost’在student表上的update權(quán)限mysql>revokeupdate->onjxgl.student->from'my_user1'@'localhost';//revokeupdateonjxgl.studentfrom‘test_user4'@’192.168.1.%';任務(wù)必備知識(shí)5.1.2權(quán)限管理【任務(wù)5.1.12】回收用戶(hù)’my_user1’@’localhost’所有的權(quán)限mysql>revokeall,grantoption->from'my_user1'@'localhost';任務(wù)必備知識(shí)想一想MySQL如何進(jìn)行角色管理?任務(wù)必備知識(shí)5.1.3角色管理MySQL8.0之前權(quán)限直接授予用戶(hù),如下圖所示:任務(wù)必備知識(shí)5.1.3角色管理隨著用戶(hù)數(shù)量的增長(zhǎng),權(quán)限的管理將越來(lái)越復(fù)雜,為此MySQL8.0之后引入了新的特性:角色(role),現(xiàn)在授權(quán)模式如下所示:任務(wù)必備知識(shí)5.1.3角色管理一、創(chuàng)建角色創(chuàng)建角色的語(yǔ)法和創(chuàng)建用戶(hù)的語(yǔ)法基本相同,只不過(guò)不需要設(shè)置密碼。createrole[ifnotexists]role1,role2,...【任務(wù)5.1.13】創(chuàng)建兩個(gè)角色,devp_role,test_rolemysql>createrole'devp_role'@'%','test_role'@'%';查看用戶(hù)和密碼信息:mysql>selectuser,host,authentication_stringfrommysql.user;任務(wù)必備知識(shí)5.1.3角色管理任務(wù)必備知識(shí)5.1.3角色管理二、為角色授權(quán)與用戶(hù)授權(quán)方式類(lèi)似,給角色授權(quán)同樣通過(guò)grant語(yǔ)句完成【任務(wù)5.1.14】為角色devp_role和test_role授權(quán),devp_role對(duì)數(shù)據(jù)庫(kù)jxgl擁有create、alter、drop、insert、delete、update、select權(quán)限,test_role對(duì)數(shù)據(jù)庫(kù)jxgl擁有insert、delete、update、select權(quán)限。任務(wù)必備知識(shí)5.1.3角色管理mysql>grantcreate,alter,drop,insert,delete,update,selectonjxgl.*todevp_role;mysql>grantinsert,delete,update,selectonjxgl.*totest_role;查看角色devp_role和test_role對(duì)應(yīng)的權(quán)限:mysql>showgrantsfordevp_role;任務(wù)必備知識(shí)5.1.3角色管理mysql>showgrantsfortest_role;任務(wù)必備知識(shí)5.1.3角色管理三、關(guān)聯(lián)用戶(hù)【任務(wù)5.1.15】創(chuàng)建兩個(gè)用戶(hù)’devp_user’@’%’和’test_user’@’%’,分別關(guān)聯(lián)devp_role和test_role先創(chuàng)建用戶(hù):mysql>createuser'devp_user'@'%'identifiedby'123456','test_user'@'%'identifiedby'123456';為用戶(hù)關(guān)聯(lián)角色:mysql>grantdevp_roletodevp_user;mysql>granttest_roletotest_user;查看用戶(hù)的權(quán)限:mysql>showgrantsfordevp_user;任務(wù)必備知識(shí)5.1.3角色管理使用using選項(xiàng)可以查看用戶(hù)通過(guò)角色獲取的具體權(quán)限:mysql>showgrantsfordevp_userusingdevp_role;任務(wù)必備知識(shí)5.1.3角色管理四、激活用戶(hù)【任務(wù)5.1.16】查看角色devp_role的活動(dòng)狀態(tài),若處于非激活狀態(tài),將其激活賦予用戶(hù)的角色只有在會(huì)話(huà)中處于活動(dòng)狀態(tài),用戶(hù)才具有相應(yīng)的權(quán)限。mysql>selectcurrent_role();任務(wù)必備知識(shí)5.1.3角色管理mysql>setdefaultroledevp_roletodevp_user;激活之后,我們以devp_user的用戶(hù)身份登錄服務(wù)器,查看角色的活動(dòng)狀態(tài):C:\ProgramFiles\MySQL\MySQLServer8.0\bin>mysql-udevp_user-pmysql>usejxgl;Databasechangedmysql>selectcurrent_role();任務(wù)必備知識(shí)5.1.3角色管理五、回收角色權(quán)限【任務(wù)5.1.17】回收test_role的所有權(quán)限同回收用戶(hù)權(quán)限類(lèi)似,回收角色權(quán)限同樣使用revoke語(yǔ)句。需要注意,修改了角色的權(quán)限,會(huì)影響到角色對(duì)應(yīng)賬戶(hù)的權(quán)限。mysql>revokeall->onjxgl.*->fromdevp_role;任務(wù)必備知識(shí)5.1.3角色管理六、刪除角色【任務(wù)5.1.18】刪除角色

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論