2012-03-29 230 views
0

遇到mysql授權語句有問題。mysql授予權限

我想誰擁有用戶:

  1. 只讀(選擇)權限上以「ABC」或「某某」
  2. 並具有創建表的能力開始表。

這是我現在擁有的。該.*語法給我的錯誤:

GRANT CREATE, SELECT 
    ON db1.abc.* , db1.xyz.* 
    TO 'some_user'@'%' 
    IDENTIFIED BY 'some_password'; 
+0

格式化您的問題可提高可讀性,並使人們更容易理解您所要求的內容。再次點擊編輯鏈接,看看我所做的更改如何影響問題的最終外觀。 – 2012-03-29 01:33:38

+0

優秀,謝謝! – user1082428 2012-03-29 01:35:03

回答

1

的點是MySQL中的分隔符 - 所以在「DB1」是數據庫名稱和「ABC」是表名「db1.abc *。」 「*」是什麼 - 一列?這是指定列的錯誤語法。

正如你在http://dev.mysql.com/doc/refman/5.1/en/grant.html瞭解,你可以看到你把列名的括號:

GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost'; 

而且,你不能外卡表名 - 你必須列出所有如果有多個表的名稱以'abc'或'xyz'開頭,那麼這些表格明確表示。

+0

謝謝,你回答我的問題是「你不能通配表名 - 你必須明確列出所有的表」 – user1082428 2012-03-29 01:52:29