MySQL 5.6へのアップグレードとmroongaのインストール

公開

以前から全文検索機能を実現するMroongaを試してみたかったものの、MySQL 5.5へのインストールがなかなか手間のかかる作業で断念していたのですが、今日ふとドキュメントを見てみると、2.5.3. CentOS 6(OracleのMySQLパッケージを利用)の項があり、なんだか簡単にインストールできそうな雰囲気。ということで、さくらのVPS(v3) 2G IK01にインストールをすることを試してみました。

結果としては、依存に関するエラーをクリアすれば、スムーズにインストール作業が完了しました。

依存に関するエラーをどうするか

一番引っかかっていた依存に関するエラーが下記。

エラー: パッケージ: perl-DBD-MySQL-4.020-1.el6.x86_64 (@CentALT)
             要求: libmysqlclient.so.18(libmysqlclient_16)(64bit)
            削除: mysql-libs-5.5.41-1.el6.remi.x86_64 (@remi)
                libmysqlclient.so.18(libmysqlclient_16)(64bit)
            次のものにより不要にされた: : mysql-community-libs-5.6.22-2.el6.x86_64 (mysql56-community)
                見つかりません
エラー: パッケージ: 2:postfix-2.9.4-1.el6.x86_64 (@CentALT)
             要求: libmysqlclient.so.18(libmysqlclient_16)(64bit)
            削除: mysql-libs-5.5.41-1.el6.remi.x86_64 (@remi)
                libmysqlclient.so.18(libmysqlclient_16)(64bit)
            次のものにより不要にされた: : mysql-community-libs-5.6.22-2.el6.x86_64 (mysql56-community)
                見つかりません
エラー: パッケージ: php-mysql-5.4.36-1.el6.remi.x86_64 (@remi)
             要求: libmysqlclient.so.18(libmysqlclient_16)(64bit)
            削除: mysql-libs-5.5.41-1.el6.remi.x86_64 (@remi)
                libmysqlclient.so.18(libmysqlclient_16)(64bit)
            次のものにより不要にされた: : mysql-community-libs-5.6.22-2.el6.x86_64 (mysql56-community)
                見つかりません
 問題を回避するために --skip-broken を用いることができません
 これらを試行できます: rpm -Va --nofiles --nodigest

改めて対策を調べてみると、社壊人エンジニア備忘録: mysql5.6の幕開けに依存のあるパッケージごと消してしまうという案が書いてあり、思い切ってこの方針で進めることに。(mondorescueを使って、VMware Fusion上にテスト環境を作っているので一応試しました)一旦アンインストールして、MySQL 5.6のインストールを進め、再度インストールを行いました。ちなみに、php-mysqlは再インストールできず、php-mysqlndをインストールしました。

削除したアプリケーションの設定ファイルは、削除時に警告: /etc/postfix/main.cf は /etc/postfix/main.cf.rpmsave として保存されました。と出ているようにきっちり保存されているので、リネームして戻せば元通り動作しました。

MySQL 5.6とMroongaをインストール

依存の問題が解決したので、後はすんなり進みました。yum install mysql-community-serverでMySQL 5.6をインストールし、service mysqld startでひとまず起動。mysqld.logを確認し、TIMESTAMP型に関するエラーの対策やmysql_upgradeを実施しました。

Mroongaもyum install mysql-community-mroongaでサクッと入ります。ただ、以前Mroongaを入れようとして中途半端な状態になっていたようでエラーが発生したため、mroongaで「Can't open shared library」エラーが発生した場合の対処方法についてを参考に、DROP FUNCTIONUNINSTALL PLUGIN mroonga;を実施しました。

後は、Movable Typeやa-blog cms等が正常に動作することを確認して作業完了。無事終わってホッとしました。Mroongaを試した記事はまた明日以降に。