以前から全文検索機能を実現する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 FUNCTION
やUNINSTALL PLUGIN mroonga;
を実施しました。
後は、Movable Typeやa-blog cms等が正常に動作することを確認して作業完了。無事終わってホッとしました。Mroongaを試した記事はまた明日以降に。