よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

パスワード付きユーザを作成する時のTips

MySQLでユーザを作成する際に、ハイフン(-)等の特殊キーを含む場合は、ユーザ名をシングルクォート(')で括らないとエラーとなってしまいます。
パスワードを設定する場合も同様です。

さらに、作成したユーザに対して、特定スキーマのみに全権限を与えるようにする場合に、スキーマ名にハイフンが含まれている場合は、シングルクォートではなくバッククォートで括らなければなりません。

例えば、skip-productionというスキーマに対して、skip-userというユーザをパスワード付き(skip-password)で作成する場合は、以下のようなGRANT文になります。

> GRANT ALL PRIVILEGES ON `skip-production`.* to 'skip-user'@localhost IDENTIFIED BY 'skip-password' WITH GRANT OPTION;
> flush privileges;

スキーマ名やユーザ名などにハイフンを使う機会はあまりないでしょうが、記憶の片隅に留めておいてくださいな。