亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發(fā)消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術(shù)支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

MySQL的存取權(quán)限系統(tǒng)

添加時間:2013-12-29 17:36:47  添加: 思海網(wǎng)絡(luò) 

  看到很多網(wǎng)友提出關(guān)于MySQL登錄不上服務(wù)器的問題,包括有的是在PHP中調(diào)用MySQL時發(fā)生的不能登錄MySQL數(shù)據(jù)庫服務(wù)器的問題,以為是PHP出了問題。其實是MySQL權(quán)限的問題。

  MySQL的權(quán)限系統(tǒng)在MySQL的手冊中是很長的一章,我把它打印出來足足印了20多頁!這里就將我對它的理解簡要地寫出來,希望能對剛剛接觸MySQL的同志有點幫助;有說得不對的地方,也請同志們指出。

  在我了解了MySQL的權(quán)限機制后,不由得不贊嘆它的嚴(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 等五個表。

  首先,限制用戶的登錄的,只有 user 表,其中最常用的是 user、host、password這三個字段。其他的select_priv、update_priv、…… 這些字段分別表示該用戶是否有select、update、……等權(quán)限,這些字段設(shè)置為'Y'表示該用戶擁有對應(yīng)的權(quán)限,'N'表示用戶沒有對應(yīng)的權(quán)限。注意,這里指定的權(quán)限是全局的,一旦你在user表中給了一個用戶select或update權(quán)限,他就對這臺服務(wù)器上任何數(shù)據(jù)庫、任何表擁有上述權(quán)限!其中當(dāng)然包括mysql數(shù)據(jù)庫!!這意味著他可以通過更改user表里的數(shù)據(jù)非法地獲取更大的權(quán)限!!!這是非常可怕的,所以建議除了給root用戶外,不要在user表中分配權(quán)限。特別的,你可以建立一個幾乎跟root擁有同樣權(quán)限的用戶(密碼可不要告訴別人喲!)在忘記了root密碼時就用得到了。在添加一個用戶時,如果不指定權(quán)限字段的值,它們的默認(rèn)值都是'N',——也就是這個用戶什么權(quán)限也沒有——你可以放心的在user表中添加用戶,因為即使他能登錄進(jìn)來,卻什么也干不了。

  還有一個應(yīng)該注意的問題就是user表中的password字段。試想,既然root用戶可以瀏覽mysql數(shù)據(jù)庫,可以看到user表的password字段,是不是就是看到了其他用戶的密碼呢?不是的!user表的password字段保存的是用password()函數(shù)加密了的用戶密碼,當(dāng)用戶登錄時,服務(wù)器將收到的用戶輸入的密碼用password()函數(shù)加密,加密得到的字串與user表password字段如能匹配,則認(rèn)為密碼正確。password()沒有逆運算,所以任何人無法從一個加密的字串得到密碼的明文。同時,如果你手工修改user表,別忘了在更新password字段時一定要用password()函數(shù)加密。例如,你要允許一位名為 bill 的用戶登錄你的服務(wù)器,你給他設(shè)定一個 12345 的密碼,則應(yīng)該:

insert into user (user,host,password) values ('bill','%',password('12345'));

如果你直接

insert into user (user,host,password) values ('bill','%','12345');

的話,恐怕他登不上你的服務(wù)器,也會到奧索網(wǎng)上發(fā)帖子問的。

  注意,每當(dāng)手工操作了跟權(quán)限有關(guān)的數(shù)據(jù)表以后,要執(zhí)行一條 flush privileges 命令才能使其生效。

  下面的問題就是如何給用戶分配權(quán)限了。如果你要給一個用戶開一個數(shù)據(jù)庫,并把有關(guān)這個數(shù)據(jù)庫的所有或部分權(quán)限開放給他,這就用到了db表。db表的意義在于,當(dāng)一個用戶請求一個查詢時,檢測該用戶對于他的查詢所針對的數(shù)據(jù)庫是否擁有進(jìn)行該查詢操作的權(quán)限,有,則允許查詢;沒有,則進(jìn)一步咨詢tables_priv表。db表的最常用字段是 user、db、和那一大堆有關(guān)權(quán)限的字段。user,不用說了,就是那個用戶的用戶名,跟user表中的對應(yīng);db,就是要分給他的數(shù)據(jù)庫名。然后就把要給他的權(quán)限相對應(yīng)的權(quán)限字段設(shè)為'Y'。同樣,這些字段的值在不指定的時候默認(rèn)是'N'。你也可以用GRANT/REVOKE命令給用戶分配權(quán)限,可以是這樣的:

grant select,update,insert,delete,creater,alter,drop,index on bill.* to bill;

  這樣就把針對bill這個數(shù)據(jù)庫的幾乎所有的權(quán)限給了用戶bill。這里沒有給的只是grant權(quán)限,關(guān)于這個權(quán)限,建議不要輕易給人,因為用戶有了grant權(quán)限,也就可以將權(quán)限分配給其他用戶。值得慶幸的是,擁有g(shù)rant權(quán)限的用戶能而且只能將他自己已經(jīng)擁有的權(quán)限分配給別人。

  使用GRANT/REVOKE命令更改了權(quán)限后,不須執(zhí)行 flush privileges 命令就可以使更改生效。

  上面討論的是給一個用戶完全開放一個數(shù)據(jù)庫的問題,如果只想給一個用戶一個特定的表的權(quán)限,就是 tables_priv 表發(fā)揮作用的時候啦。這里的關(guān)鍵性字段是user、db、table_name 。顯而易見的,要給一個用戶指定一個特定的數(shù)據(jù)庫中特定表的權(quán)限,三個關(guān)鍵要素就是:哪個用戶(user)、哪個數(shù)據(jù)庫(db)、哪個表(table_name)。它的機理跟db表是類似的,我不必再重復(fù)。唯一不同的是這里用了一個SET類型的字段 table_priv 來指定用戶對這個表權(quán)限,SET的成員有 SELECT, UPDATE, INSERT, DELETE, ALTER, CREATE, DROP, GRANT, INDEX, REFERENCE 等,你可以選擇其中任意一個或幾個分配給用戶。

  在上述提及的幾個權(quán)限表中以及未提及的host表中,都有一個host字段,它用來區(qū)分來自不同主機的、用戶名可能相同的人,或者是給同一個用戶從不同的主機連接時給予不同的權(quán)限。這種用法不很常用,但為了安全起見,建議root用戶,如果不需要從遠(yuǎn)程連接,請將他的host設(shè)為 localhost,其他的則可以設(shè)為 % ,即任何主機。

關(guān)鍵字:MySQL、數(shù)據(jù)庫、主機

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報有獎  警警  手機打開網(wǎng)站