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