版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
主講教師:姜云橋任務5.1用戶與權限的開發(fā)子項目5數(shù)據(jù)庫高級管理功能開發(fā)任務目標1.能使用createuser語句來創(chuàng)建用戶2.能用password語句設置用戶密碼、給密碼加密3.能用grant語句創(chuàng)建用戶并授予權限以及使用revoke語句回收權限知識目標1.了解安全性2.掌握createuser語句3.掌握password語句4.掌握grant語句5.掌握revoke語句能力目標任務要求本任務將學習使用CREATEUSER語句來創(chuàng)建用戶,用PASSWORD語句設置用戶密碼、給密碼加密,用grant語句創(chuàng)建用戶并授予權限以及使用REVOKE語句回收權限的方法,并嘗試通過修改MySQL授權表來創(chuàng)建用戶、設置密碼和授予權限。任務必備知識MySQL用戶包括root用戶和普通用戶。這兩種用戶的權限是不一樣的。root用戶是超級管理員,擁有所有的權限,包括創(chuàng)建用戶、刪除用戶和修改普通用戶的密碼等管理權限。而普通用戶只擁有時賦予它的權限當用戶登錄MySQL服務器執(zhí)行各種操作時,它首先向服務器發(fā)送連接請求,確認用戶的操作請求是否被允許。這個過程稱為MySQL中的訪問控制過程。MySQL的訪問控制分為兩個階段:連接核實階段和請求核實階段;MySQL的訪問主要分為兩個階段:連接驗證和權限控制。任務必備知識想一想MySQL創(chuàng)建用戶賬戶的方法?任務必備知識5.1.1用戶管理MySQL使用createuser語句創(chuàng)建用戶。createuseruser_name1identifiedby‘password1’,user_name2identifiedby‘password2’,...一、創(chuàng)建用戶以root身份登錄到服務器上后,可以添加新賬戶,賬戶信息將被保存在數(shù)據(jù)庫mysql的user表中。任務必備知識5.1.1用戶管理【任務5.1.1】創(chuàng)建兩個用戶,用戶名分別為test_user1和test_user2,其中,test_user1只允許從本機登錄,test_user2允許從任意主機登錄,兩個用戶密碼都設置為123456mysql>createuser'test_user1'@'localhost'identifiedby'123456',->'test_user2'@'%'identifiedby'123456';任務必備知識5.1.1用戶管理可通過查詢命令查看創(chuàng)建的用戶情況:mysql>selectuser,hostfrommysql.userwhereuserlike'test_%';任務必備知識5.1.1用戶管理【任務5.1.2】創(chuàng)建兩個用戶,用戶名分別為test_user3和test_user4,其中,test_user3只允許從主機192.168.2.10登錄,密碼為123456;test_user4允許從網段為192.168.1.0/24的主機登錄,密碼為空mysql>createuser'test_user3'@'192.168.2.10'identifiedby'123456',->'test_user4'@'192.168.1.%'identifiedby'';任務必備知識5.1.1用戶管理查詢創(chuàng)建的用戶信息:mysql>selectuser,hostfrommysql.userwhereuserlike'test_%';任務必備知識5.1.1用戶管理修改用戶最常用的操作包括修改用戶標識和用戶密碼。二、修改用戶1.修改用戶密碼通過alteruser語句修改:alteruseruser1identifiedby‘password’,user2identifiedby‘password’,...任務必備知識5.1.1用戶管理【任務5.1.3】修改用戶test_user4的密碼為123456mysql>alteruser'test_user4'@'192.168.1.%'identifiedby'123456';通過setpassword語句修改:setpassword[foruser]=password('new_password')任務必備知識5.1.1用戶管理【任務5.1.4】修改用戶test_user4的密碼為12345678mysql>setpasswordfor'test_user4'@'192.168.1.%'='12345678';任務必備知識5.1.1用戶管理2.修改用戶標識如果需要修改用戶標識,MySQL提供了renameuser命令:renameuserold_usertonew_user,old_usertonew_user,...任務必備知識5.1.1用戶管理【任務5.1.5】將用戶’test_user1’@’localhost’修改為’my_user1’@’localhost’mysql>renameuser'test_user1'@'localhost'to'my_user1'@'localhost';任務必備知識5.1.1用戶管理dropuser[ifexists]user1,user2,...三、刪除用戶【任務5.1.6】刪除用戶test_user2、test_user3、test_user4mysql>dropuserifexists'test_user2'@’%',->'test_user3'@'192.168.2.10',->'test_user4'@’192.168.1.%';任務必備知識想一想MySQL如何授予用戶權限?任務必備知識5.1.2權限管理新創(chuàng)建的用戶默認只有usage權限,只能連接數(shù)據(jù)庫,而沒有任何操作權限,如果需要其他操作權限,它必須被授權。一、授予權限授權可通過grant語句完成:grantpriv_type,priv_type,...onpriv_leveltouser_or_role,user_or_role,...[withgrantoption]任務必備知識5.1.2權限管理1.全局權限存儲在mysql數(shù)據(jù)庫的user表中,作用于所有的數(shù)據(jù)庫,使用*.*表示?!救蝿?.1.7】授權用戶my_user1對全部數(shù)據(jù)庫的所有權限mysql>grantallon*.*to'my_user1'@'localhost';設置完權限后,可通過showgrantsforuser查看權限:mysql>showgrantsfor'my_user1'@'localhost';任務必備知識5.1.2權限管理2.數(shù)據(jù)庫級權限存儲在mysql數(shù)據(jù)庫的db表中,作用于指定數(shù)據(jù)庫中的所有對象上,使用db_name.*表示。【任務5.1.8】授予用戶my_user1對jxgl庫的所有表有select、insert、update、delete的權限mysql>grantselect,insert,update,deleteonjxgl.*to'my_user1'@'localhost';任務必備知識5.1.2權限管理3.表級權限存儲在mysql數(shù)據(jù)庫的tables_priv表中,作用于整個表上,使用db_name.table_name表示。如果沒有指定db_name,將使用默認數(shù)據(jù)庫?!救蝿?.1.9】授予用戶my_user1對jxgl庫中student表的查詢和更新的權限mysql>grantselect,updateonjxgl.studentto'my_user1'@'localhost';任務必備知識5.1.2權限管理4.列級權限存儲在mysql數(shù)據(jù)庫中的columns_priv表中,作用于表的指定列上,與其他級別權限表示方式不同,列權限后面緊跟作用的具體的列名,如select(s_name),對s_name列的查詢權限?!救蝿?.1.10】授予my_user1在student表上的學號列和姓名列的UPDATE權限mysql>grantupdate(s_no,s_name)onstudentto'my_user1'@'localhost';沒有指定數(shù)據(jù)庫,此時默認使用在當前數(shù)據(jù)庫,可通過database()函數(shù)查看當前所用的數(shù)據(jù)庫:mysql>selectdatabase();任務必備知識5.1.2權限管理二、回收權限revoke命令用于回收用戶權限。【格式一】revoke[ifexists]priv_type,priv_type,...onpriv_levelfromuser_or_role,user_or_role,...【格式二】revoke[ifexists]all,grantoptionfromuser_or_role,user_or_role,...任務必備知識5.1.2權限管理【任務5.1.11】回收用戶’my_user1’@‘localhost’在student表上的update權限mysql>revokeupdate->onjxgl.student->from'my_user1'@'localhost';//revokeupdateonjxgl.studentfrom‘test_user4'@’192.168.1.%';任務必備知識5.1.2權限管理【任務5.1.12】回收用戶’my_user1’@’localhost’所有的權限mysql>revokeall,grantoption->from'my_user1'@'localhost';任務必備知識想一想MySQL如何進行角色管理?任務必備知識5.1.3角色管理MySQL8.0之前權限直接授予用戶,如下圖所示:任務必備知識5.1.3角色管理隨著用戶數(shù)量的增長,權限的管理將越來越復雜,為此MySQL8.0之后引入了新的特性:角色(role),現(xiàn)在授權模式如下所示:任務必備知識5.1.3角色管理一、創(chuàng)建角色創(chuàng)建角色的語法和創(chuàng)建用戶的語法基本相同,只不過不需要設置密碼。createrole[ifnotexists]role1,role2,...【任務5.1.13】創(chuàng)建兩個角色,devp_role,test_rolemysql>createrole'devp_role'@'%','test_role'@'%';查看用戶和密碼信息:mysql>selectuser,host,authentication_stringfrommysql.user;任務必備知識5.1.3角色管理任務必備知識5.1.3角色管理二、為角色授權與用戶授權方式類似,給角色授權同樣通過grant語句完成【任務5.1.14】為角色devp_role和test_role授權,devp_role對數(shù)據(jù)庫jxgl擁有create、alter、drop、insert、delete、update、select權限,test_role對數(shù)據(jù)庫jxgl擁有insert、delete、update、select權限。任務必備知識5.1.3角色管理mysql>grantcreate,alter,drop,insert,delete,update,selectonjxgl.*todevp_role;mysql>grantinsert,delete,update,selectonjxgl.*totest_role;查看角色devp_role和test_role對應的權限:mysql>showgrantsfordevp_role;任務必備知識5.1.3角色管理mysql>showgrantsfortest_role;任務必備知識5.1.3角色管理三、關聯(lián)用戶【任務5.1.15】創(chuàng)建兩個用戶’devp_user’@’%’和’test_user’@’%’,分別關聯(lián)devp_role和test_role先創(chuàng)建用戶:mysql>createuser'devp_user'@'%'identifiedby'123456','test_user'@'%'identifiedby'123456';為用戶關聯(lián)角色:mysql>grantdevp_roletodevp_user;mysql>granttest_roletotest_user;查看用戶的權限:mysql>showgrantsfordevp_user;任務必備知識5.1.3角色管理使用using選項可以查看用戶通過角色獲取的具體權限:mysql>showgrantsfordevp_userusingdevp_role;任務必備知識5.1.3角色管理四、激活用戶【任務5.1.16】查看角色devp_role的活動狀態(tài),若處于非激活狀態(tài),將其激活賦予用戶的角色只有在會話中處于活動狀態(tài),用戶才具有相應的權限。mysql>selectcurrent_role();任務必備知識5.1.3角色管理mysql>setdefaultroledevp_roletodevp_user;激活之后,我們以devp_user的用戶身份登錄服務器,查看角色的活動狀態(tài):C:\ProgramFiles\MySQL\MySQLServer8.0\bin>mysql-udevp_user-pmysql>usejxgl;Databasechangedmysql>selectcurrent_role();任務必備知識5.1.3角色管理五、回收角色權限【任務5.1.17】回收test_role的所有權限同回收用戶權限類似,回收角色權限同樣使用revoke語句。需要注意,修改了角色的權限,會影響到角色對應賬戶的權限。mysql>revokeall->onjxgl.*->fromdevp_role;任務必備知識5.1.3角色管理六、刪除角色【任務5.1.18】刪除角色
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年北海職業(yè)學院單招綜合素質筆試備考題庫含詳細答案解析
- 2026年安徽林業(yè)職業(yè)技術學院單招職業(yè)技能考試模擬試題含詳細答案解析
- 2026年江西科技職業(yè)學院單招職業(yè)技能考試參考題庫含詳細答案解析
- 2026年內蒙古能源職業(yè)學院單招職業(yè)技能考試備考試題含詳細答案解析
- 2026首都經濟貿易大學招聘103人參考考試題庫及答案解析
- 2026年貴州電子信息職業(yè)技術學院單招職業(yè)技能考試模擬試題含詳細答案解析
- 2026年河南交通職業(yè)技術學院單招職業(yè)技能考試備考題庫含詳細答案解析
- 2026年溫州科技職業(yè)學院高職單招職業(yè)適應性測試備考題庫及答案詳細解析
- 2026年安徽糧食工程職業(yè)學院單招綜合素質考試模擬試題含詳細答案解析
- 2026年陜西能源職業(yè)技術學院單招綜合素質考試參考題庫含詳細答案解析
- 命造收錄200例(二)
- 顱內鈣化CT、MRI診斷、鑒別診斷
- 煙囪技術在血管腔內修復術中的應用教案
- 檢驗科甲流實驗室檢測流程
- 紀檢監(jiān)察業(yè)務培訓
- 急慢性失血性貧血課件
- 人教版七年級上冊歷史期末模擬試卷及答案
- 2025年及未來5年中國肉干肉脯市場調查研究及行業(yè)投資潛力預測報告
- 有機合成化學王玉爐第三版省公開課一等獎全國示范課微課金獎課件
- 凝血的臨床課件
- 高密池除硬度原理課件
評論
0/150
提交評論