0

mysql grant ステートメントに問題があります。

次のユーザーが必要です。

  1. 「abc」または「xyz」で始まるテーブルに対する読み取り専用 (選択) 権限
  2. AND には、テーブルを作成する機能があります。

これが私が現在持っているものです。.*構文でエラーが発生しています:

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

1 に答える 1

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」で始まる名前のテーブルが複数ある場合は、すべてのテーブルを明示的にリストする必要があります。

于 2012-03-29T01:40:04.497 に答える