如果你想對多個列授予權限,指定一個用逗號分開的列表。例如,對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權限,那么第二個用戶可以是第一個用戶更“強大”。
第二步:
文章來源于領測軟件測試網 http://www.kjueaiud.com/