2010-07-10 30 views
5

通常會說:用通配符設置用戶mysql的權限?

授予所有權利 TO '壯士' @ '%'

我們可以使用通配符,我們可以針對特定的數據庫,只有這樣的:

GRANT ALL PRIVILEGES ON SHOP%* TO '壯士' @ '%'

我們想給以數字開頭的數據庫用戶賦予插入權限,這些數據庫以前綴「SHOP」開頭

回答

6

是的,你可以。請參閱GRANT Syntax。下面是從該頁面報價:

的「_」在,在全球或數據庫級別授予權限 GRANT語句中指定數據庫名稱時,「%」允許使用通配符 。這 手段,例如,如果你想 使用「_」字符作爲 數據庫名稱的一部分,你應該指定它 在GRANT語句「\_」,以 防止用戶能夠 訪問與 匹配的通配符模式的其他數據庫;例如, GRANT ... ON`FOO \ _bar` * TO

+0

感謝,但我得到執行此操作時發生錯誤:授予選擇,插入,刪除,在 「店鋪%」 更新*對「的人。 '@' 本地主機「; - >您的SQL語法中有錯誤 – Jorre 2010-07-12 11:37:24

+2

您必須在數據庫名稱周圍使用back-ticks:''將'shop'\'。*授予選擇,插入,刪除,更新到'someone'@'localhost';' – Mike 2010-07-12 11:44:52

+0

工作!非常感謝 – Jorre 2010-07-12 15:11:16