やったこと

webサービスを作るときに考えたことを垂れ流します

まだまだ起動しないwordpress

phpmysqlをインストールしなおしてwordpressを起動しようとしたが、wordpressのページに「データベース接続確立エラー」というエラーが表示されて起動しない。

/var/log/mysqld.logには以下のようなログが残されてた。

140812 18:06:02 [ERROR] /usr/libexec/mysqld: Incorrect information in file: './kabulog/wp_users.frm'
140812 18:23:36 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
140812 18:23:36 [ERROR] /usr/libexec/mysqld: Incorrect information in file: './mysql/tables_priv.frm'

いろいろやりすぎて何だかもう疲れてしまったので、wordpress自体をもう一度インストールしなおすことにした。

wordpressのディレクトリを全削除して、再度worspressのバイナリを展開。

wordpressのページにアクセスして初期設定をしようとしたが、また「データベース接続確立エラー」がでてきてしまった。

もっと具体的なエラー内容を知るために、wordpressのwp-config.phpを修正してデバッグモードを有効にしてみた。

//define('WP_DEBUG', false);
define('WP_DEBUG', true);

そうすると「データベース接続確立エラー」の画面に以下のログが出力された。

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /hogehoge/wp/wp-includes/wp-db.php on line 1372

なにやらmysqlへのソケット接続に失敗している様子。/etc/my.cnfの記述を以下のように変更してみた。

#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock

mysqlも再起動しておく。

service mysqld restart

そしてwordpressに再接続してみると、接続成功!これが原因だったか!

はじめインストールしたときはsocketファイルの記述は何も変更しないでいけたんだけどな・・phpとかmysqlのバージョンをいろいろ変えたからこの変更が必要になったんだろうか。

ともあれやっとwordpressがまともに動いたみたい。でもこの調子じゃ運用中もいろいろ不具合が起きるんだろうな・・先が思いやられるわ。。