WordPressのためにMySQLを導入3

少し間が空きましたが、前回の続きです。
今回は、MySQLのユーザを追加します。
しかも、データベースに接続できるサーバを限定することで、セキュリティにも考慮します。

ユーザの追加

さて、データベースに接続するには、phpmyadminを用います。
phpmyadminのページに接続し、ログインすると「特権」というのがあるので、クリックします。
ここでユーザを追加することができますが、ユーザを追加する際は次のようなことを選択します。

  • ユーザ名
  • パスワード
  • ホスト名
  • ユーザ専用データベース
  • グローバル特権

このうち、ユーザ名・パスワードは分かりますよね。
データベースに接続する際の、ユーザとパスワードになります。

接続を許可するホスト名の設定

ホスト名というのが、データベースに接続することができるサーバになります。
ここに、接続を許可するIPアドレスやホスト名を記入しますが、複数のホストから許可する場合は、次のようにします。

  • 同じユーザ名で許可するホスト毎にユーザを作る。
    • 一度作ったユーザの「編集」をクリックし、ホスト名の部分だけ変更した後、「同じ特権を持つ新しいユーザを作る」という項目を「元のユーザも残す」(デフォルト)にすると、許可するホスト名毎にユーザが作成されます。
  • ワイルドカードをつかう。
    • %(パーセント)という文字はワイルドカードになります。%だけ入力すると全てのホスト、%.hoge.comにすると、hoge.comの全てのホストから許可することになります。

ちなみに、phpmyadminから接続する際は、localhostの登録が必要です。なぜなら、phpmyadminはデータベースサーバ上のウェブサーバで動くアプリケーションだからです。

ユーザのデータベース名の設定

ユーザ専用データベースというのは、自由にユーザが使えるデータベースのことです。rootでなくてもそのデータベースは全ての権限を有することになります。
今回は「ワイルドカード(ユーザ名_%)に該当するデータベースにすべての特権を与える」というのを選択しましょう。
これは、「ユーザ名_データベース名」という形式の名称でデータベースを作ることができ、それはそのユーザが自由に使うことができるというものです。

グローバル特権の設定

グローバル特権は、全てのデータベースにおいて可能な動作を定義するものです。
ユーザは自分のデータベースのみ操作するのであれば、なにも選択する必要はありません。
なぜなら、自分のデータベースには全ての特権を有しているからです。

これで、データベースのユーザを追加することができます。
接続を許可するホストに合わせて、複数ユーザを作る必要があるかもしれません。

動作確認

では、一度phpmyadminから接続してみましょう。
かならずログアウトをクリックしてログイン画面に戻りましょう。
ログアウトをクリックしないと、クッキーが残ってしまい、phpmyadminの動作に支障が出ます。

先ほど作成したユーザとそのパスワードを入力し、ログインをしてみましょう。
ログインできたでしょうか?
ログインできない場合は、許可するホスト名にlocalhostが登録されているかを、(rootで)チェックしてくださいね。

おすすめ

コメントを残す

Amazon プライム対象