版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、MySQL的存取權(quán)限系統(tǒng).txt18擁有誠實(shí),就舍棄了虛偽;擁有誠實(shí),就舍棄了無聊;擁有踏實(shí),就舍棄了浮躁,不論是有意的丟棄,還是意外的失去,只要曾經(jīng)真實(shí)擁有,在一些時(shí)候,大度舍棄也是一種境界??吹胶芏嗑W(wǎng)友提出關(guān)于MySQL登錄不上服務(wù)器的問題,包括有的是在PHP中調(diào)用MySQL時(shí)發(fā)生的不能登錄MySQL數(shù)據(jù)庫服務(wù)器的問題,以為是PHP出了問題。其實(shí)是MySQL權(quán)限的問題。MySQL的權(quán)限系統(tǒng)在MySQL的手冊中是很長的一章,我把它打印
2、出來足足印了20多頁!這里就將我對它的理解簡要地寫出來,希望能對剛剛接觸MySQL的同志有點(diǎn)幫助;有說得不對的地方,也請同志們指出。在我了解了MySQL的權(quán)限機(jī)制后,不由得不贊嘆它的嚴(yán)密與巧妙;也許所有的數(shù)據(jù)庫系統(tǒng)都是如此罷,只是別的大型數(shù)據(jù)庫把權(quán)限做得不需超級管理員親自干預(yù)數(shù)據(jù)表而已。MySQL的權(quán)限保存在名為mysql的數(shù)據(jù)庫中,有user、db、host、tables_priv、columns_priv等五個(gè)表。首先,限制用戶的登
3、錄的,只有user表,其中最常用的是user、host、passwd這三個(gè)字段。其他的_priv、update_priv、……這些字段分別表示該用戶是否有、update、……等權(quán)限,這些字段設(shè)置為Y表示該用戶擁有對應(yīng)的權(quán)限,N表示用戶沒有對應(yīng)的權(quán)限。注意,這里指定的權(quán)限是全局的,一旦你在user表中給了一個(gè)用戶或update權(quán)限,他就對這臺(tái)服務(wù)器上任何數(shù)據(jù)庫、任何表擁有上述權(quán)限!其中當(dāng)然包括mysql數(shù)據(jù)庫??!這意味著他可以通過更改us
4、er表里的數(shù)據(jù)非法地獲取更大的權(quán)限?。?!這是非常可怕的,所以建議除了給root用戶外,不要在user表中分配權(quán)限。特別的,你可以建立一個(gè)幾乎跟root擁有同樣權(quán)限的用戶(密碼可不要告訴別人喲?。┰谕浟藃oot密碼時(shí)就用得到了。在添加一個(gè)用戶時(shí),如果不指定權(quán)限字段的值,它們的默認(rèn)值都是N,——也就是這個(gè)用戶什么權(quán)限也沒有——你可以放心的在user表中添加用戶,因?yàn)榧词顾艿卿涍M(jìn)來,卻什么也干不了。還有一個(gè)應(yīng)該注意的問題就是user表中的
5、passwd字段。試想,既然root用戶可以瀏覽mysql數(shù)據(jù)庫,可以看到user表的passwd字段,是不是就是看到了其他用戶的密碼呢?不是的!user表的passwd字段保存的是用passwd()函數(shù)加密了的用戶密碼,當(dāng)用戶登錄時(shí),服務(wù)器將收到的用戶輸入的密碼用passwd()函數(shù)加密,加密得到的字串與user表passwd字段如能匹配,則認(rèn)為密碼正確。passwd()沒有逆運(yùn)算,所以任何人無法從一個(gè)加密的字串得到密碼的明文。同時(shí),
6、如果你手工修改user表,別忘了在更新passwd字段時(shí)一定要用passwd()函數(shù)加密。例如,你要允許一位名為bill的用戶登錄你的服務(wù)器,你給他設(shè)定一個(gè)12345的密碼,則應(yīng)該:intouser(userhostpasswd)values(bill%passwd(12345))如果你直接intouser(userhostpasswd)values(bill%12345)的話,恐怕他登不上你的服務(wù)器,也會(huì)到奧索網(wǎng)上發(fā)帖子問的。注意,每
7、當(dāng)手工操作了跟權(quán)限有關(guān)的數(shù)據(jù)表以后,要執(zhí)行一條flushprivileges命令才能使其生效。下面的問題就是如何給用戶分配權(quán)限了。如果你要給一個(gè)用戶開一個(gè)數(shù)據(jù)庫,并把有關(guān)這個(gè)數(shù)據(jù)庫的所有或部分權(quán)限開放給他,這就用到了db表。db表的意義在于,當(dāng)一個(gè)用戶請求一個(gè)查詢時(shí),檢測該用戶對于他的查詢所針對的數(shù)據(jù)庫是否擁有進(jìn)行該查詢操作的權(quán)限,有,則允許查詢;沒有,則進(jìn)一步咨詢tables_priv表。db表的最常用字段是user、db、和那一大堆
8、有關(guān)權(quán)限的字段。user,不用說了,就是那個(gè)用戶的用戶名,跟user表中的對應(yīng);db,就是要分給他的數(shù)據(jù)庫名。然后就把要給他的權(quán)限相對應(yīng)的權(quán)限字段設(shè)為Y。同樣,這些字段的值在不指定的時(shí)候默認(rèn)是N。你也可以用GRANTREVOKE命令給用戶分配權(quán)限,可以是這樣的:grantupdatecreateralterindexonbill.tobill這樣就把針對bill這個(gè)數(shù)據(jù)庫的幾乎所有的權(quán)限給了用戶bill。這里沒有給的只是grant權(quán)限,
9、關(guān)于這個(gè)權(quán)限,建議不要輕易給人,因?yàn)橛脩粲辛薵rant權(quán)限,也就可以將權(quán)限分配給其他用戶。值得慶幸的是,擁有g(shù)rant權(quán)限的用戶能而且只能將他自己已經(jīng)擁有的權(quán)限分配給別人。使用GRANTREVOKE命令更改了權(quán)限后,不須執(zhí)行flushprivileges命令就可以使更改生效。上面討論的是給一個(gè)用戶完全開放一個(gè)數(shù)據(jù)庫的問題,如果只想給一個(gè)用戶一個(gè)特定的表的權(quán)限,就是tables_priv表發(fā)揮作用的時(shí)候啦。這里的關(guān)鍵性字段是user、db
10、、table_name。顯而易見的,要給一個(gè)用戶指定一個(gè)特定的數(shù)據(jù)庫中特定表的權(quán)限,三個(gè)關(guān)鍵要素就是:哪個(gè)用戶(user)、哪個(gè)數(shù)據(jù)庫(db)、哪個(gè)表(table_name)。它的機(jī)理跟db表是類似的,我不必再重復(fù)。唯一不同的是這里用了一個(gè)SET類型的字段table_priv來指定用戶對這個(gè)表權(quán)限,SET的成員有UPDATEALTERCREATEGRANTINDEXREFERENCE等,你可以選擇其中任意一個(gè)或幾個(gè)分配給用戶。在上述提及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- linux文件存取權(quán)限
- mysql開啟遠(yuǎn)程訪問權(quán)限和被遠(yuǎn)程訪問的方法
- 自助存取款系統(tǒng)
- 基于php和mysql的博客系統(tǒng)
- java權(quán)限管理系統(tǒng)
- 文件的存取
- 201 自動(dòng)存取車系統(tǒng)(方開陽)
- 系統(tǒng)賬戶權(quán)限管理規(guī)定
- sap 權(quán)限檢查管理系統(tǒng)
- 基于PHP和MySQL的車輛管理系統(tǒng).pdf
- 通用權(quán)限管理系統(tǒng)設(shè)計(jì)
- 網(wǎng)上商城系統(tǒng)(jsp+mysql)
- 論文——jsp+mysql在線考試系統(tǒng)
- 博客系統(tǒng)網(wǎng)站(jsp+servlet+mysql)
- 教務(wù)管理系統(tǒng)(jsp+servlet+mysql)
- 銀行存取款管理系統(tǒng)設(shè)計(jì)
- 基于MySQL主從同步的異構(gòu)復(fù)制系統(tǒng).pdf
- 教材訂購系統(tǒng)(jsp+servlet+mysql)
- mysql游標(biāo)
- mysql語句
評論
0/150
提交評論