0

someuserでSELECTを実行できるmydbようにするために、次のステートメントを実行できます。

GRANT SELECT ON mydb.* TO 'someuser'@'somehost';

次の2つのテーブルでのみSELECTを許可したいeventとしevent_detailます。

私は次のことができると思います:

GRANT SELECT ON mydb.event TO 'someuser'@'somehost';
GRANT SELECT ON mydb.event_detail TO 'someuser'@'somehost';

以下も機能しますか?(他のテーブルが一致しないと仮定します)

GRANT SELECT ON mydb.event* TO 'someuser'@'somehost';
4

2 に答える 2

1

いいえ-ワイルドカードは、テーブル名またはデータベース名全体にのみ使用できます。

すべてのテーブルに対してgrantステートメントを明示的に入力するか、スクリプトまたはプログラムを作成してそれを実行する必要があります。

于 2012-12-13T13:55:40.577 に答える
1

GRANT構文に基づく:

GRANT
... priv_level ...

priv_level:
    *
  | *.*
  | db_name.*
  | db_name.tbl_name
  | tbl_name
  | db_name.routine_name

だから私はあなたができないと思います。とにかく、を使用して、INFORMATION_SCHEMA必要な名前のプレフィックスを持つテーブルを見つけて、それらを反復処理することができます。

于 2012-12-13T13:59:34.573 に答える