Mysqlに新しいユーザーを追加する

server-2891812_1920

よく忘れるのでメモしておく

登録されているユーザーの確認

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 を利用して権限の付与が出来るようになります。

コメントを残す

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。