ユーザーを作成する
MySQL には管理者だけでなく色々な権限を設定したユーザーを作成することができます。ここでは phpMyAdmin を使って MySQL に新しいユーザーを作成する方法について解説します。
(2021 年 07 月 03 日公開 / 2022 年 04 月 08 日更新)
目次
新しいユーザーを作成する
新しいユーザーを作成します。 phpMyAdmin に管理者ユーザーでログインして下さい。
画面上部に表示されている「ユーザーアカウント」をクリックして下さい。
ユーザーの管理画面が表示されます。作成済みのユーザーの一覧が表示されます。
MySQL のユーザーはユーザー名とホスト名の組み合わせで作成します。ユーザー名が登録されたものであっても接続元のホスト名が登録されているホストと異なっていたら MySQL へ接続することはできません。
では新規にユーザーを作成します。画面中央にある「ユーザーアカウントを追加する」と書かれたリンクをクリックして下さい。
ユーザーの新規作画面が表示されます。
ログイン情報
最初にログイン情報を登録します。
「ユーザー名」には作成するユーザーの名前を 16 文字以内で入力して下さい。
「ホスト名」には作成するユーザーが接続可能なホストを指定します。指定可能な値は host.example.com などや 192.168.128.1 などの IP アドレス指定の他にローカルホストを表す localhost やホストの制限が無いものまで指定可能です。
ホスト名の右のドロップダウンメニューをクリックすると次のように表示されます。ホスト名の制限を行わない場合には「すべてのホスト」、ローカルホストの場合は「ローカル」を選択して右側のテキストボックスは空白にして下さい。また特定のホストを指定する場合は「テキストフィールドの値を利用する」を選択した上で右側のテキストボックスのホスト名を入力して下さい。
「パスワード」には作成するユーザーのパスワードを入力して下さい。パスワード無しも可能ですがセキュリティ的に問題がありますので推奨されるものではありません。パスワードは 2 箇所に同じパスワードを入力して下さい。
「認証プラグイン」は MySQL 8.0 からデフォルトが caching_sha2_password となりました。以前はデフォルトで mysql_native_password が使用されていました。 MySQL 8.0 以降は caching_sha2_password のままでいいと思いますが、変更されたい場合は認証プラグインの右のドロップダウンメニューをクリックして選択してください。
今回はログイン情報を次のように入力しました。
権限の設定
次に作成するユーザーに与える権限を設定します。
この画面で設定可能なものはグローバル特権だけです。(権限の種類などに関する詳細は「ユーザーに設定できる権限の種類と一覧」を参照して下さい)。
権限を与えるものにチェックを入れて下さい。今回は「データ」のSELECT権限だけを設定します。
ユーザーの作成
ログイン情報の入力と権限の設定が終わりましたら画面左下の「実行」をクリック下さい。
新しいユーザーが作成されて MySQL に追加されました。
画面上部には実際に実行された SQL 文が表示されています。今回は次のような SQL 文が実行されてユーザーが作成されました。
CREATE USER 'yamada'@'localhost' IDENTIFIED WITH caching_sha2_password BY '***';
GRANT SELECT ON *.* TO 'yamada'@'localhost';
ALTER USER 'yamada'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE USER 文によってユーザーを作成し、 GRANT 文によってユーザーに権限が設定されています。
あらためてユーザー管理画面を見てみると、先ほど作成したユーザーが追加されていることが分かります。
-- --
phpMyAdmin を使って MySQL に新しいユーザーを作成する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。