9

複数のデータベースに付与する方法は? MySQL。

何かのようなもの

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
4

2 に答える 2

21

db_name プレフィックスを囲む引用符の代わりにバッククォートを使用するだけです。

私はこれがうまくいくと思います:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
于 2010-07-08T14:17:00.530 に答える
9

あなたの例はうまくいくはずです。(5.5)マニュアルから:

グローバル レベルまたはデータベース レベルで権限を付与する GRANT ステートメントでデータベース名を指定する場合、「_」および「%」ワイルドカードを使用できます。

%任意の数 (ゼロでも) の文字に一致し、_正確に 1 文字に一致します。データベース名に が必要な場合_は、 としてエスケープする必要があります\_。マニュアルのその他の注意事項も参照してください。

< UPDATE >他の回答が指摘しているように: データベース名にワイルドカードが含まれている場合は、識別子の引用文字、バックティック ("`") で引用する必要があります</ UPDATE >

于 2010-07-08T14:16:52.787 に答える