MySQLでのユーザの作成
MySQLだとGRANTでユーザの作成までいけちゃうらしいが、普段通りCREATE USERで作ってみることにする。
ユーザの作成
PostgreSQLとはパスワードの形式が違うwww
もうこういう細かい差がめんどくさいwww
CREATE USER wordpress IDENTIFED BY パスワード パスワードをhogehogeで作成するとこんな感じ mysql> CREATE USER 'wordpress' IDENTIFIED BY 'hogehoge'; Query OK, 0 rows affected (0.00 sec)
データベースの作成
mysql> CREATE DATABASE wordpressdb; Query OK, 1 row affected (0.00 sec)
ユーザのアクセス権限の設定
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES ON wordpressdb.* TO wordpress; GRANT FILE ON *.* TO wordpress;
実際の実行結果
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES ON wordpressdb.* TO wordpress;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT FILE ON *.* TO wordpress;
Query OK, 0 rows affected (0.00 sec)
最初最初の一行でFILE権限も挙げようとして、以下のようなエラーが出ていた。
mysql> GRANT FILE ON wordpressdb.* TO wordpress;
ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
どうも、FILE権限っていうのはデータベース単位じゃなくて、データベース全体を指定しないといけないっぽい。
WordPressの設定
wp-config-sample.phpをwp-config.phpにコピー。
MySQLで設定した内容に合わせて記述を変更する。
<?php /** * WordPress 基本設定 * * このファイルは、MySQL、テーブル接頭辞、秘密鍵、言語、ABSPATH の設定を含みます。 * より詳しい情報は {@link http://wpdocs.sourceforge.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86 * wp-config.php の編集} を参照してください。MySQL の設定情報はホスティング先より入手できます。 * * このファイルはインストール時に wp-config.php 作成ウィザードが利用します。 * ウィザードを介さず、このファイルを "wp-config.php" という名前でコピーして直接編集し値を * 入力しても構いません。 * * @package WordPress */ // 注意: // Windows の "メモ帳" でこのファイルを編集しないでください ! // 問題なく使えるテキストエディタ // (http://wpdocs.sourceforge.jp/Codex:%E8%AB%87%E8%A9%B1%E5%AE%A4 参照) // を使用し必ず UTF-8 の BOM なし (UTF-8N) で保存してください。 // ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** // /** WordPress のデータベース名 */ define('DB_NAME', 'wordpressdb'); /** MySQL のユーザー名 */ define('DB_USER', 'wordpress'); /** MySQL のパスワード */ define('DB_PASSWORD', 'hogehoge');
Mac OSXのApacheの設定
/Private/etc/apache2/httpd.confの内容を適宜変更。
php5_moduleを有効化するために、コメントアウトを解除。
LoadModule php5_module libexec/apache2/libphp5.so
そのごapacheを再起動
sh-3.2# sudo apachectl graceful
Mac OSXのPHPの設定
/private/etc/php.iniがデフォルトでは存在しないので、
/private/etc/php.ini.defaultをphp.iniにコピー。
設定を行う項目は次の二つ。mysqliは使ってるかどうか謎だけど、念のため。
この設定はMySQLとソケット通信を行うための設定なのだが、MySQLをPortsでインストールすると、デフォルトの場所とは異なる場所にsocketを生成するので、以下のように変更を行う必要がある。
MySQL(Portsでインストールした場合)のソケットの場所はデフォルトだと/opt/local/var/run/mysql5/mysqld.sock。
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock
設定後はシステム環境設定の共有からWeb共有を再起動させる。
今回困ったのは何故かphp.iniの設定が一度再起動させても反映されず、ほかの箇所を変更して再起動すると、その変更は反映されずに、前に設定した変更が反映されるという謎の現象。
もしかして、システム環境設定からの再起動だとうまく再起動できてない?(謎
システムを再起動すればよかったのかもしれない。
それに気づかずに次の日にMacPortsでphpを入れ直したりとかいう無駄な作業を行ってしまった。
今週はきっちり研究を進めなければいけないというのに、いったい俺は何をやっているのやら…。