《MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用案例教程》 課件 項(xiàng)目10 用戶安全性管理_第1頁(yè)
《MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用案例教程》 課件 項(xiàng)目10 用戶安全性管理_第2頁(yè)
《MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用案例教程》 課件 項(xiàng)目10 用戶安全性管理_第3頁(yè)
《MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用案例教程》 課件 項(xiàng)目10 用戶安全性管理_第4頁(yè)
《MySQL數(shù)據(jù)庫(kù)原理與應(yīng)用案例教程》 課件 項(xiàng)目10 用戶安全性管理_第5頁(yè)
已閱讀5頁(yè),還剩42頁(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)介

《MySQL數(shù)據(jù)庫(kù)項(xiàng)目化教程》項(xiàng)目10用戶安全性管理MySQL是一個(gè)多用戶數(shù)據(jù)庫(kù),具有功能強(qiáng)大的訪問(wèn)控制系統(tǒng)。處于安全方面的考慮,需要?jiǎng)?chuàng)建多個(gè)普通用戶,并且為每一用戶賦于對(duì)不同數(shù)據(jù)庫(kù)的訪問(wèn)限制,以滿足不同用戶的需求。本項(xiàng)目通過(guò)典型任務(wù)學(xué)習(xí)新用戶的創(chuàng)建、查看用戶記錄和用戶管理,以及設(shè)置用戶權(quán)限和用戶權(quán)限管理。前言掌握如何創(chuàng)建新用戶、查看用戶記錄。掌握用戶管理。掌握如何設(shè)置、查看用戶權(quán)限。掌握如何取消用戶權(quán)限。學(xué)習(xí)目標(biāo)知識(shí)重點(diǎn)創(chuàng)建新用戶。設(shè)置用戶權(quán)限。知識(shí)難點(diǎn)用戶管理。用戶權(quán)限管理。知識(shí)重點(diǎn)與難點(diǎn)用戶管理任務(wù)1任務(wù)2用戶權(quán)限管理學(xué)習(xí)任務(wù)用戶管理任務(wù)1任務(wù)描述任務(wù)目標(biāo)任務(wù)分析任務(wù)實(shí)施123知識(shí)鏈接45MySQL數(shù)據(jù)庫(kù)中,root用戶是超級(jí)管理員,擁有所有權(quán)限,包括創(chuàng)建用戶、刪除用戶和修改用戶密碼等管理權(quán)限。在實(shí)際工作過(guò)程中,經(jīng)常需要?jiǎng)?chuàng)建擁有不同權(quán)限的普通用戶。根據(jù)需求,完成新用戶的創(chuàng)建、查看用戶記錄、修改用戶名、修改用戶密碼和刪除用戶等操作。任務(wù)描述(1)會(huì)創(chuàng)建用戶。(2)會(huì)修改用戶名、修改用戶密碼。(3)會(huì)刪除用戶。(4)通過(guò)用戶管理,提升學(xué)生的數(shù)據(jù)安全意識(shí)。任務(wù)目標(biāo)學(xué)習(xí)user權(quán)限表,了解user表中字段的含義。學(xué)習(xí)使用createuser語(yǔ)句和insert語(yǔ)句創(chuàng)建新用戶的方法,以及用戶管理的語(yǔ)句,完成新用戶的創(chuàng)建、查看用戶記錄、修改用戶名、修改用戶密碼和刪除用戶等操作。任務(wù)分析使用createuser語(yǔ)句創(chuàng)建用戶使用insert語(yǔ)句創(chuàng)建用戶修改用戶名user權(quán)限表任務(wù)實(shí)施修改用戶密碼刪除用戶(2)使用createuser創(chuàng)建兩個(gè)新用戶,用戶user2的密碼是user2,用戶user3的密碼是user3,連接的主機(jī)名都是locahost。mysql>createuser'user2'@'localhost'identifiedby'user2','user3'@'127.0.0.1'identifiedby'user3';任務(wù)實(shí)施小貼士:在創(chuàng)建用戶的過(guò)程中,如果只指定了用戶名而沒(méi)指定主機(jī)名,則主機(jī)名默認(rèn)為“%”,表示一組主機(jī)。用戶名后面連接的如果是本機(jī),可以用關(guān)鍵字“l(fā)ocalhost”或者“127.0.0.1”表示。多個(gè)用戶之間用“,”分割。步驟2使用insert語(yǔ)句創(chuàng)建用戶使用insert創(chuàng)建一個(gè)新用戶,用戶名是user4,密碼是user4,主機(jī)名是locahost。mysql>insertintomysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject)values('localhost','user4','user4','','','');mysql>flushprivileges;);任務(wù)實(shí)施

步驟3查看創(chuàng)建的用戶記錄切換到mysql數(shù)據(jù)庫(kù),通過(guò)select語(yǔ)句查看user數(shù)據(jù)表中步驟1和步驟2創(chuàng)建的用戶信息。mysql>usemysql;mysql>selecthost,userfromuser;任務(wù)實(shí)施步驟4修改用戶名將用戶名user1修改為testuser1。mysql>renameuser'user1'@'localhost'to'testuser1'@'localhost';執(zhí)行結(jié)果顯示如圖所示。任務(wù)實(shí)施步驟5修改用戶密碼修改用戶user2的密碼為testuser2。mysql>setpasswordfor'user2'@'localhost'='testuser2';任務(wù)實(shí)施步驟6刪除用戶刪除用戶user4。mysql>dropuseruser4@localhost;MySQL在安裝時(shí)會(huì)自動(dòng)創(chuàng)建一個(gè)名為mysql的數(shù)據(jù)庫(kù),mysql數(shù)據(jù)庫(kù)中存儲(chǔ)的都是用戶權(quán)限表。用戶登錄以后,MySQL會(huì)根據(jù)這些權(quán)限表的內(nèi)容為每個(gè)用戶賦予相應(yīng)的權(quán)限。user數(shù)據(jù)表是MySQL中最重要的一個(gè)權(quán)限表,用來(lái)記錄允許連接到服務(wù)器的賬號(hào)信息,以及一些權(quán)限信息。在user數(shù)據(jù)表里啟用的所有權(quán)限都是全局級(jí)的,適用于所有數(shù)據(jù)庫(kù)。user數(shù)據(jù)表中的字段大致可以分為4類,分別是用戶列、權(quán)限列、安全列和資源控制列。可以使用“desc”語(yǔ)句查看user數(shù)據(jù)表的表結(jié)構(gòu)。(1)用戶列用戶列存儲(chǔ)了用戶連接MySQL數(shù)據(jù)庫(kù)時(shí)需要輸入的信息。包括Host、User和authentication_string,分別表示主機(jī)名、用戶名和密碼。用戶登錄時(shí),如果這3個(gè)字段同時(shí)匹配,MySQL數(shù)據(jù)庫(kù)系統(tǒng)才會(huì)允許其登錄。創(chuàng)建新用戶時(shí),也是設(shè)置這3個(gè)字段的值。修改知識(shí)鏈接——user權(quán)限表用戶密碼時(shí),實(shí)際就是修改user表的authentication_string字段的值。因此,這3個(gè)字段決定了用戶能否登錄。(2)權(quán)限列權(quán)限列的字段決定用戶的權(quán)限,用來(lái)描述在全局范圍內(nèi)允許對(duì)數(shù)據(jù)和數(shù)據(jù)庫(kù)進(jìn)行的操作。權(quán)限大致分為兩大類,分別是高級(jí)管理權(quán)限和普通權(quán)限:高級(jí)管理權(quán)限主要對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,例如關(guān)閉服務(wù)的權(quán)限、超級(jí)權(quán)限和加載用戶等;普通權(quán)限主要操作數(shù)據(jù)庫(kù),例如查詢權(quán)限、修改權(quán)限等。user表的權(quán)限列包括Select_priv、Insert_priv等以priv結(jié)尾的字段,這些字段值的數(shù)據(jù)類型為ENUM,可取的值只有Y和N:Y表示該用戶有對(duì)應(yīng)的權(quán)限,N表示該用戶沒(méi)有對(duì)應(yīng)的權(quán)限。從安全角度考慮,這些字段的默認(rèn)值都為N。知識(shí)鏈接——user權(quán)限表(3)安全列安全列主要用來(lái)管理用戶的安全信息,其中包括6個(gè)字段,具體如下。ssl_type和ssl_cipher:用于加密。x509_issuer和x509_subject:用于標(biāo)識(shí)用戶。plugin和authentication_string:用于存儲(chǔ)與授權(quán)相關(guān)的插件。(4)資源控制列資源控制列的字段用來(lái)限制用戶使用的資源。所有字段的默認(rèn)值都為0,表示沒(méi)有限制。一個(gè)小時(shí)內(nèi)用戶查詢或者連接數(shù)量超過(guò)資源控制限制,用戶將被鎖定,直到下一個(gè)小時(shí)才可以在此執(zhí)行對(duì)應(yīng)的操作。資源控制列包括以下4個(gè)字段:max_questions :規(guī)定每小時(shí)允許執(zhí)行查詢的操作次數(shù)知識(shí)鏈接——user權(quán)限表max_updates:規(guī)定每小時(shí)允許執(zhí)行更新的操作次數(shù)max_connections:規(guī)定每小時(shí)允許執(zhí)行的連接操作次數(shù)max_user_connections:規(guī)定允許同時(shí)建立的連接次數(shù)知識(shí)鏈接——user權(quán)限表CREATEUSER:創(chuàng)建用戶關(guān)鍵字。user:指定創(chuàng)建用戶賬號(hào),格式為'user_name'@'host_name'。其中user_name是用戶名,host_name為主機(jī)名,即用戶連接MySQL時(shí)所用主機(jī)的名字。如果在創(chuàng)建的過(guò)程中,只給出了用戶名,而沒(méi)指定主機(jī)名,那么主機(jī)名默認(rèn)為“%”,表示一組主機(jī),即對(duì)所有主機(jī)開(kāi)放權(quán)限。[IDENTIFIEDBY'auth_string']:用于指定用戶密碼。新用戶可以沒(méi)有初始密碼,若該用戶不設(shè)密碼,可省略此子句。'auth_string'表示用戶登錄時(shí)使用的密碼,需要用單引號(hào)括起來(lái)。知識(shí)鏈接——使用createuser語(yǔ)句創(chuàng)建用戶知識(shí)鏈接——使用insert語(yǔ)句創(chuàng)建用戶可以使用insert語(yǔ)句直接將用戶的信息添加到mysql.user數(shù)據(jù)表中。使用insert語(yǔ)句創(chuàng)建用戶需要注意以下幾點(diǎn):(1)通常使用insert語(yǔ)句創(chuàng)建用戶,只添加Host、User和authentication_string這3個(gè)字段的值。(2)由于mysql數(shù)據(jù)庫(kù)的user表中,ssl_cipher、x509_issuer和x509_subject這3個(gè)字段沒(méi)有默認(rèn)值,所以向user表插入新記錄時(shí),一定要設(shè)置這3個(gè)字段的值,否則insert語(yǔ)句將不能執(zhí)行。(3)user表中的User和Host字段區(qū)分大小寫,創(chuàng)建用戶時(shí)要指定正確的用戶名稱或主機(jī)名。知識(shí)鏈接——使用insert語(yǔ)句創(chuàng)建用戶(4)使用insert語(yǔ)句創(chuàng)建用戶后。這時(shí)如果通過(guò)該賬戶登錄MySQL服務(wù)器,不會(huì)登錄成功,因?yàn)閯?chuàng)建的用戶還沒(méi)有生效。需要使用flushprivileges命令刷新系統(tǒng)權(quán)限相關(guān)數(shù)據(jù)表,讓用戶生效。insert語(yǔ)句創(chuàng)建新用戶的基本語(yǔ)句為:知識(shí)鏈接——修改用戶名語(yǔ)法分析:RENAMEUSER:修改用戶名關(guān)鍵字。old_user:已經(jīng)存在的用戶名。new_user:修改后的新用戶名。知識(shí)鏈接——修改用戶密碼在MySQL中,只有root用戶可以通過(guò)更新MySQL數(shù)據(jù)庫(kù)來(lái)更改密碼。使用root用戶登錄到MySQL服務(wù)器后,可以使用set語(yǔ)句來(lái)修改普通用戶密碼。SETPASSWORD:修改用戶密碼關(guān)鍵字。[FORuser]:表示修改指定主機(jī)上特定普通用戶的密碼,此選項(xiàng)為可選項(xiàng)。如果省略,則修改當(dāng)前用戶密碼。auth_string:為設(shè)置的新密碼。知識(shí)鏈接——?jiǎng)h除用戶DROPUSER:刪除用戶關(guān)鍵字。[IFEXISTS]:用于防止刪除用戶時(shí),在用戶不存在的情況下發(fā)生錯(cuò)誤。user:需要?jiǎng)h除的用戶,由用戶的用戶名和主機(jī)名組成。用戶權(quán)限管理任務(wù)2任務(wù)描述任務(wù)目標(biāo)任務(wù)分析任務(wù)實(shí)施123知識(shí)鏈接45

用戶權(quán)限管理主要是對(duì)數(shù)據(jù)庫(kù)的用戶進(jìn)行權(quán)限驗(yàn)證。所有用戶的權(quán)限都存儲(chǔ)在MySQL的權(quán)限表中。數(shù)據(jù)庫(kù)管理員要對(duì)用戶權(quán)限進(jìn)行管理,合理的權(quán)限管理能夠保證數(shù)據(jù)庫(kù)系統(tǒng)的安全,不合理的權(quán)限設(shè)置可能會(huì)給數(shù)據(jù)庫(kù)系統(tǒng)帶來(lái)意想不到的危害。根據(jù)需求,完成對(duì)用戶權(quán)限的設(shè)置、查看用戶權(quán)限和取消用戶權(quán)限等操作。任務(wù)描述(1)會(huì)設(shè)置用戶權(quán)限。(2)會(huì)查看用戶權(quán)限。(3)會(huì)取消用戶權(quán)限。(4)通過(guò)用戶權(quán)限管理,提升學(xué)生的數(shù)據(jù)安全意識(shí)。任務(wù)目標(biāo)學(xué)習(xí)設(shè)置用戶權(quán)限、查看用戶權(quán)限、取消用戶權(quán)限的命令,根據(jù)實(shí)際任務(wù)需求,完成對(duì)用戶權(quán)限的設(shè)計(jì)和管理。任務(wù)分析設(shè)置用戶權(quán)限查看用戶權(quán)限取消用戶權(quán)限任務(wù)實(shí)施MySQL的權(quán)限步驟1設(shè)置用戶權(quán)限(1)創(chuàng)建一個(gè)新的用戶user10,密碼為user10。授予用戶user10對(duì)所有的數(shù)據(jù)庫(kù)的所有表有查詢、插入權(quán)限,并授予grant權(quán)限。mysql>createuser'user10'@'localhost'identifiedby'user10';mysql>grantselect,inserton*.*to'user10'@'localhost'withgrantoption;任務(wù)實(shí)施(2)創(chuàng)建一個(gè)新的用戶user11,密碼為user11。授予用戶user11在數(shù)據(jù)庫(kù)chjgl_db的所有權(quán)限。mysql>createuser'user11'@'localhost'identifiedby'user11';mysql>grantallonchjgl_db.*to'user11'@'localhost';任務(wù)實(shí)施(3)創(chuàng)建一個(gè)新的用戶user12,密碼為user12。授予用戶user12在數(shù)據(jù)庫(kù)chjgl_db中的tb_student數(shù)據(jù)表上查詢、刪除權(quán)限。mysql>createuser'user12'@'localhost'identifiedby'user12';mysql>grantselect,deleteonchjgl_db.tb_studentto'user12'@'localhost';任務(wù)實(shí)施(4)創(chuàng)建一個(gè)新的用戶user13,密碼為user13。授予用戶user13在數(shù)據(jù)庫(kù)chjgl_db中的tb_student數(shù)據(jù)表上,對(duì)sname、ssex字段值具有修改的權(quán)限。mysql>createuser'user13'@'localhost'identifiedby'user13';mysql>grantupdate(sname,ssex)onchjgl_db.tb_studentto'user13'@'localhost';任務(wù)實(shí)施任務(wù)實(shí)施步驟2查看用戶權(quán)限查看用戶user10的權(quán)限。mysql>showgrantsfor'user10'@'localhost';小貼士:由于用戶的基本權(quán)限存儲(chǔ)在mysql.user數(shù)據(jù)表中,因此,查看用戶權(quán)限也可以使用“select*frommysql.user;”語(yǔ)句。任務(wù)實(shí)施步驟3取消用戶權(quán)限(1)取消用戶user10的所有權(quán)限,并查看取消后user10的權(quán)限。mysql>revokeallprivileges,grantoptionfrom'user10'@'localhost';mysql>showgrantsfor'user10'@'localhost';(2)取消用戶user11在數(shù)據(jù)庫(kù)chjgl_db的所有數(shù)據(jù)表的update和delete權(quán)限。mysql>revokeupdate,deleteonchjgl_db.*from'user11'@'localhost';任務(wù)實(shí)施MySQL中的權(quán)限信息被存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)的user、db、host、columns_priv和tables_priv等數(shù)據(jù)表中。MySQL的相關(guān)權(quán)限以及在user數(shù)據(jù)表中對(duì)應(yīng)的字段和權(quán)限范圍見(jiàn)表10-1。知識(shí)鏈接——MySQL的權(quán)限知識(shí)鏈接——MySQL的權(quán)限知識(shí)鏈接——MySQL的權(quán)限在特定的SQL語(yǔ)句中對(duì)MySQL權(quán)限有更具體的要求,表中部分權(quán)限說(shuō)明如下:(1)create權(quán)限,可以創(chuàng)建數(shù)據(jù)庫(kù)、數(shù)據(jù)表、索引。(2)drop權(quán)限,可以刪除已有的數(shù)據(jù)庫(kù)、數(shù)據(jù)表、索引。(3)insert、delete、update、select權(quán)限,可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表進(jìn)行增加、刪除、更新和查詢操作。(4)alter權(quán)限,可以用于修改數(shù)據(jù)表的結(jié)構(gòu)或重命名數(shù)據(jù)表。(5)grantoption權(quán)限,允許為其他用戶授權(quán),可用于數(shù)據(jù)庫(kù)和數(shù)據(jù)表。(6)all[privileges]權(quán)限,授予在指定的訪問(wèn)級(jí)別的所有權(quán)限,除了grantoption和proxy。(7)usage權(quán)限,“noprivileges”的同義詞,沒(méi)有權(quán)限。知識(shí)鏈接——MySQL的權(quán)限知識(shí)鏈接——設(shè)置用戶權(quán)限一般情況下,數(shù)據(jù)庫(kù)管理員首先使用createuser創(chuàng)建用戶并定義其非特權(quán)特征,比如密碼,是否使用安全連接以及對(duì)服務(wù)器資源的訪問(wèn)限制,然后使用grant語(yǔ)句來(lái)設(shè)置用戶的權(quán)限。其基本語(yǔ)法格式為:GRANT:設(shè)置用戶權(quán)限關(guān)鍵字。priv_type:表示設(shè)置權(quán)限的類型。例如,select、insert、delete等。column_list:表示權(quán)限作用于哪些字段,如果省略該參數(shù),則作用于整個(gè)數(shù)據(jù)表。priv_level:用于指定權(quán)限級(jí)別的值,有以下幾類格式:知識(shí)鏈接——設(shè)置用戶權(quán)限(1)*:表示當(dāng)前數(shù)據(jù)庫(kù)中的所有表。(2)*.*:表示所有數(shù)據(jù)庫(kù)中的所有表。(3)db_name.*:表示某個(gè)數(shù)據(jù)庫(kù)中的所有表,db_name指定數(shù)據(jù)庫(kù)名。(4)db_name.tbl_name:表示某個(gè)數(shù)據(jù)庫(kù)中的某個(gè)表或視圖,db_name指定數(shù)據(jù)庫(kù)名,tbl_name指定表名或視圖名。(5)db_name.routine_name:表示某個(gè)數(shù)據(jù)庫(kù)中的某個(gè)存儲(chǔ)過(guò)程或函數(shù),routine_name指定存儲(chǔ)過(guò)程名或函數(shù)名。user:設(shè)置權(quán)限的用戶,由用戶的用戶名和主機(jī)名組成。格式為'username'@'hostname'。WI

溫馨提示

  • 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)論