WordPressのためにMySQLを導入3
少し間が空きましたが、前回の続きです。
今回は、MySQLのユーザを追加します。
しかも、データベースに接続できるサーバを限定することで、セキュリティにも考慮します。
ユーザの追加
さて、データベースに接続するには、phpmyadminを用います。
phpmyadminのページに接続し、ログインすると「特権」というのがあるので、クリックします。
ここでユーザを追加することができますが、ユーザを追加する際は次のようなことを選択します。
- ユーザ名
- パスワード
- ホスト名
- ユーザ専用データベース
- グローバル特権
このうち、ユーザ名・パスワードは分かりますよね。
データベースに接続する際の、ユーザとパスワードになります。
接続を許可するホスト名の設定
ホスト名というのが、データベースに接続することができるサーバになります。
ここに、接続を許可するIPアドレスやホスト名を記入しますが、複数のホストから許可する場合は、次のようにします。
- 同じユーザ名で許可するホスト毎にユーザを作る。
- 一度作ったユーザの「編集」をクリックし、ホスト名の部分だけ変更した後、「同じ特権を持つ新しいユーザを作る」という項目を「元のユーザも残す」(デフォルト)にすると、許可するホスト名毎にユーザが作成されます。
- ワイルドカードをつかう。
%
(パーセント)という文字はワイルドカードになります。%
だけ入力すると全てのホスト、%.hoge.com
にすると、hoge.comの全てのホストから許可することになります。
ちなみに、phpmyadminから接続する際は、localhostの登録が必要です。なぜなら、phpmyadminはデータベースサーバ上のウェブサーバで動くアプリケーションだからです。
ユーザのデータベース名の設定
ユーザ専用データベースというのは、自由にユーザが使えるデータベースのことです。rootでなくてもそのデータベースは全ての権限を有することになります。
今回は「ワイルドカード(ユーザ名_%)に該当するデータベースにすべての特権を与える」というのを選択しましょう。
これは、「ユーザ名_データベース名」という形式の名称でデータベースを作ることができ、それはそのユーザが自由に使うことができるというものです。
グローバル特権の設定
グローバル特権は、全てのデータベースにおいて可能な動作を定義するものです。
ユーザは自分のデータベースのみ操作するのであれば、なにも選択する必要はありません。
なぜなら、自分のデータベースには全ての特権を有しているからです。
これで、データベースのユーザを追加することができます。
接続を許可するホストに合わせて、複数ユーザを作る必要があるかもしれません。
動作確認
では、一度phpmyadminから接続してみましょう。
かならずログアウトをクリックしてログイン画面に戻りましょう。
ログアウトをクリックしないと、クッキーが残ってしまい、phpmyadminの動作に支障が出ます。
先ほど作成したユーザとそのパスワードを入力し、ログインをしてみましょう。
ログインできたでしょうか?
ログインできない場合は、許可するホスト名にlocalhostが登録されているかを、(rootで)チェックしてくださいね。
最近のコメント