PHP5.3+MySQL5.5のインストール方法(原因究明編)

前回MySQL5.5をインストールしたら動かなくなってしまったので、原因を探りたいと思います。
下が起動したときに、エラーログに残ります。


$ /etc/init.d/mysqld restart
$ cat /var/log/mysqld.log ←エラーログの場所
↓↓エラーの内容
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ①
mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended ②
また、エラーログ監視用コマンド
$ tail -f /var/log/mysqld.log ←自動更新しながらファイルを表示してくれる
①を解決したら②が出てきたはず・・・記憶力よくなくて覚えてない!
確か出たんだ!


①原因究明
原因として考えられるのは、以下の3点みたいです。

1.MySQLサーバーが起動していない
起動確認方法
$ ps -aux | grep mysqld
2.MySQLサーバーで使っているUNIXソケットとクライアントソフトで使っているUNIXソケットのパスが違う
3.なんらかの理由でソケットファイルが削除されている
ソケットファイルは起動時にできるものなので、検索しても発見できません。
また「/var/lib/mysql/」への書き込み権限がmysqlに無くて、"mysql.sock"を作成できない場合にも同様のエラーメッセージが出るみたいです。
結果、フォルダの権限を確認したほうがいいかもしれない。

②原因究明
mysqld_safeが起動できないといわれてるみたいです。
調べていると、"my.cnf"が悪いみたいな情報が転がっているので、以下を試してみましょう。


1.一度my.cnfをリネーム
2."my.cnf"なしでサービスを起動できるかチェック
yes⇒"my.cnf"の記述のどこに問題があり!
no ⇒他に原因がある模様
と分けれるみたいです。
私は、リネームして起動できたので、"my.cnf"の記述が悪いみたいです。
"my.cnf"の怪しいやつをコメントアウトし、起動を繰り返しやっとわかりました。

[mysqld]
default-character-set=utf8
が原因みたいです。
MySQL5.5からは以下のように記述しないとだめみたいです。

[mysqld]
character-set-server = utf8
こんなトラップがあったのか・・・


そしてエラーログをしっかりみたら

[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
って書いてあった・・・
調べた結果、設定の項目名変更されてるとは思わんかった・・・・
一回MySQLを再インスコしたほうがよかったかもしれない。参考サイトに再インスコのサイトも載せておきます。
次の記事には、MySQL5.5の設定でも載せてみようと思います。

参考記事
http://blog.rutti.net/item_494.html
MySQLが再起動できなくなった - LukeSilvia’s diary
361 | 2019 Ebook Library
http://www.jaswill.co.jp/member/2010/11/centos54mysql55.html