よく忘れるのでメモしておく
登録されているユーザーの確認
SELECT user, host FROM mysql.user;
ユーザーを追加
@ の後ろにはホスト名を指定します。% はワイルドカード(すべてのホストからアクセス可能)を意味しますが、localhost はワイルドカードに含まれないので別途追加します。
CREATE USER username@'%' IDENTIFIED BY 'password'; CREATE USER username@'localhost' IDENTIFIED BY 'password';
権限の付与
追加したばかりのユーザーはログインしても権限がないので何も出来ません。必要な権限を付与しましょう。
追加したユーザーの権限を確認
SHOW GRANTS FOR username@'%'; SHOW GRANTS FOR username@'localhost';
特定のテーブルだけに権限を付与したい場合の例
GRANT ALL PRIVILEGES ON dbname.tablename TO username@'%'; GRANT ALL PRIVILEGES ON dbname.tablename TO username@'localhost';
参照権限だけを付与したい場合の例
GRANT SELECT ON dbname.* TO username@'%'; GRANT SELECT ON dbname.* TO username@'localhost';
何でも出来る管理者用ユーザーにしたい場合の例
GRANT ALL ON *.* TO username@'%' WITH GRANT OPTION; GRANT ALL ON *.* TO username@'localhost' WITH GRANT OPTION;
「WITH GRANT OPTION」は、このユーザー自身もGRANT を利用して権限の付与が出来るようになります。