'projectA_%'という名前のすべてのデータベースに対して同じ権限を持つユーザー'projectA'を作成したい
私はその可能性を知っていますが、MySQLは私の構文が好きではありません:
grant all on 'projectA\_%'.* to 'projectA'@'%';
'projectA_%'という名前のすべてのデータベースに対して同じ権限を持つユーザー'projectA'を作成したい
私はその可能性を知っていますが、MySQLは私の構文が好きではありません:
grant all on 'projectA\_%'.* to 'projectA'@'%';
構文で一重引用符の代わりにバックチックを使用すると、問題なく機能するように見えます。
grant all on `projectA\_%`.* to `projectA`@`%`;
GRANT ALL PRIVILEGES ON `projectA\_%`.* TO 'projectA'@'%' IDENTIFIED BY 'your_passwd';
データベース名にはバックチックが必要です
編集:アンダースコアがエスケープされるようになりました。
MySQLのGRANTドキュメントによると:
グローバルレベルまたはデータベースレベルで特権を付与するGRANTステートメントでデータベース名を指定する場合は、「_」および「%」ワイルドカードを使用できます。これは、たとえば、データベース名の一部として「_」文字を使用する場合は、GRANTステートメントで「\ _」として指定して、ユーザーが一致する追加のデータベースにアクセスできないようにする必要があることを意味します。ワイルドカードパターン。たとえば、GRANT ... ON `foo\_bar`。*TO...。