• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試開發技術MySQL在命名用過程中所遇到的常見問題

    發布: 2009-10-20 10:23 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網

    第一條語句向bill授權samp_db數據庫中所有表的權限,第二條創建一個嚴格限制訪問的用戶ro_user(只讀用戶),只能訪問samp_db數據庫中的所有表,但只有讀取,即用戶只能發出SELECT語句。

    你可以列出一系列同時授予的各個權限。例如,如果你想讓用戶能讀取并能修改現有數據庫的內容,但不能創建新表或刪除表,如下授予這些權限:

    GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db TO bill@snake.net INDETIFIED BY "rock"。

    對于更精致的訪問控制,你可以在各個表上授權,或甚至在表的每個列上。當你想向用戶隱藏一個表的部分時,或你想讓一個用戶只能修改特定的列時,列特定權限非常有用。如:

    GRANT SELECT ON samp_db.member TO bill@localhost

    INDETIFIED BY "rock"GRANT UPDATE (eXPiration) ON

    第一條語句授予對整個member表的讀權限并設置了一個口令,第二條語句增加了UPDATE權限,當只對expiration列。沒必要再指定口令,因為第一條語句已經指定了。

    如果你想對多個列授予權限,指定一個用逗號分開的列表。例如,對assistant用戶增加member表的地址字段的UPDATE權限,使用如下語句,新權限將加到用戶已有的權限中:

    GRANT UPDATE (street,city,state,zip) ON samp_db TO assistant@localhost。

    通常,你不想授予任何比用戶確實需要的權限寬的權限。然而,當你想讓用戶能創建一個臨時表以保存中間結果,但你又不想讓他們在一個包含他們不應修改內容的數據庫中這樣做時,發生了要授予在一個數據庫上的相對寬松的權限。你可以通過建立一個分開的數據庫(如tmp)并授予開數據庫上的所有權限來進行。例如,如果你想讓來自mars.net域中主機的任何用戶使用tmp數據庫,你可以發出這樣的GRANT語句:GRANT ALL ON tmp.* TO ""@mars.net。

    在你做完之后,用戶可以創建并用tmp.tbl_name形式引用tmp中的表(在用戶指定符中的""創建一個匿名用戶,任何用戶均匹配空白用戶名)。

    用戶應該被允許管理權限嗎?

    第一步:

    你可以允許一個數據庫的擁有者通過授予數據庫上的所有擁有者權限來控制數據庫的訪問,在授權時,指定WITH GRANT OPTION。例如:如果你想讓alicia能從big.corp.com域的任何主機連接并具有sales數據庫中所有表的管理員權限,你可以用如下GRANT語句:

    GRANT ALL ON sales.* TO alicia@%.big.corp.com

    INDETIFIED BY "applejuice" WITH GRANT OPTION

    在效果上WITH GRANT OPTION子句允許你把訪問授權的權利授予另一個用戶。要注意,擁有GRANT權限的兩個用戶可以彼此授權。如果你只給予了第一個用戶SELECT權限,而另一個用戶有GRANT加上SELECT權限,那么第二個用戶可以是第一個用戶更“強大”。

    第二步:

    撤權并刪除用戶,要取消一個用戶的權限,使用REVOKE語句。REVOKE的語法非常類似于GRANT語句,除了TO用FROM取代并且沒有INDETIFED BY和WITH GRANT OPTION子句:

    REVOKE privileges (columns) ON what FROM user

    user部分必須匹配原來GRANT語句的你想撤權的用戶的user部分。privileges部分不需匹配,你可以用GRANT語句授權,然后用REVOKE語句只撤銷部分權限。

    REVOKE語句只刪除權限,而不刪除用戶。即使你撤銷了所有權限,在user表中的用戶記錄依然保留,這意味著用戶仍然可以連接服務器。要完全刪除一個用戶,你必須用一條DELETE語句明確從user表中刪除用戶記錄:

    %mysql -u root mysqlmysql>DELETE FROM user

    ->WHERE User="user_name" and Host="host_name";

    mysql>FLUSH PRIVILEGES; 

    DELETE語句刪除用戶記錄,而FLUSH語句告訴服務器重載授權表。(當你使用GRANT和REVOKE語句時,表自動重載,而你直接修改授權表時不是。)

     

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>