
WordPress では、記事の内容だったり WordPress の設定内容を、 MySQL というデータベースに保存して管理していますので、WordPress を動かすためには WordPress から MySQL にアクセスできる必要があります。
WordPress では、MySQL のデータベース名とそれにアクセスできる MySQL のユーザー名、パスワードを指定(設定)する訳ですが(ワードプレスのユーザーではなくて、MySQL のユーザーです)、この場合の MySQL ユーザーはどのように作成すればよいのか?についてちょっと調べてみました。
WordPress で指定するユーザーには、WordPress › フォーラム » MySQLのユーザー権限 によると、SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER の権限があれば大丈夫(だと思われる)とのことですが、試していないので良く分かりません。
一応、WordPress のインストール – WordPress Codex 日本語版 の「phpMyAdmin の利用」の項で、
- グローバル特権のすべてのオプションはデフォルトのままにしておきましょう。
- ・・データベースに特権を追加ドロップダウンから・・すべてチェックするをクリックして・・
とありますので、
mysql > GRANT ALL PRIVILEGES ON wordpress.* TO new_user@localhost IDENTIFIED BY 'pass';
としてみたけどどうなんだろ。
関連エントリ:MySQL でのユーザー管理(追加、削除、権限、パスワード変更)
調べついでに、以下 MySQL のユーザー権限レベルについての覚書です。
MySQL のユーザー権限について
MySQL でユーザーを新規追加したり権限を付与する場合には、GRANT コマンド(構文)を、ユーザーの権限を削除する場合には、REVOKE コマンド(構文)を利用しますが、その際に指定できる主な権限レベルの覚書です。
GRANT コマンドや REVOKE コマンドで指定できる 主な権限レベルの一覧です。
<データベースの操作に関する権限レベル>
設定値 | 付与される実行権限 |
---|---|
CREATE | データベースとテーブルの作成権限(CREATE DATABASE/CREATE TABLEコマンド) |
ALTER | テーブルの作成権限(ALTER TABLE コマンド) |
CREATE USER | ユーザの作成権限(CREATE USER コマンド) |
DROP | データベース・テーブルの削除権限(DROP DATABASE/DROP TABLE コマンド) |
<データアクセスに関する権限レベル>
設定値 | 付与される実行権限 |
---|---|
SELECT | テーブルの参照権限(SELECT コマンド) |
INSERT | テーブルのレコード挿入権限(INSERT コマンド) |
UPDATE | テーブルのレコード更新権限(UPDATE コマンド) |
DELETE | テーブルのレコード削除権限(DELETE コマンド) |
<その他>
設定値 | 付与される実行権限 |
---|---|
ALL(ALL PRIVILEGES と同じ) | 全ての権限 |
SHUTDOWN | MySQLのシャットダウン実行権限 |
これ以外にも権限レベルは沢山ありますが、WordPress ローカル環境用のユーザーを作成するには、そこまで細かい権限レベルの管理は必要ないかと。
また、GRANT コマンドの末尾に、WITH GRANT OPTION を付けることによって、自分が与えられている権限を他の MySQL ユーザーに付与することができるようになりますが、WordPress 用の MySQL ユーザーには必要ありませんね。
よりマニアックな権限レベルについては、MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.5.1.3 GRANT 構文をご覧ください。
でわでわ。