管理しているサーバのMySQLが停止して監視システムからのメールが届き始めた。
思い当たることがなく慌ててサーバに接続して確認してみたが、メモリーが不足したり、アクセスが過大になったような形跡はなかった。MySQLを再起動してみても失敗と表示されるだけで起動できない。何度か試行錯誤しているうちに原因がyumの自動アップデートではないかと思い当たった。MySQLの起動時のメッセージか2点を修正すれば動作すると予測した。
エラーメッセージの原因は以下の2点。
1. MySQL5.5.16では、利用できないオプション名をmy.cnfで使っている
2. データ側のアップグレードが必要
項目1は、エラーメッセージに従い下記のように修正した。
[php]
default-character-set=utf8
↓↓↓
character-set-server=utf8
record_buffer
↓↓↓
read_buffer_size
[/php]
その他、詳細はこのページで確認できます。
http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html
[php]
mysql_upgrade -p
[/php]
mysqlのrootのパスワードで実行すると正しくチェックを行いエラーは表示されなくなった。
この方法で複数台を修正した。
最後に1台だけyumのアップデートが途中で停止するサーバがあった。
管理しているサーバの中では一番古いので、ファイル構成などが違っているようだ。
エラーの出るレポジトリが存在していたので、正常なサーバと見比べて不要だと確認してファイルを削除した。
その後、以下のコマンドを実行して
[php]
yum clean all
yum repolist
yum -y update
[/php]
アップデートすると、更新されていなかった208ファイルをダウンロードして更新できた。