CentOS5.1にTritonnをインストール

以下のURL(オフィシャル)の説明の通り、自宅のサーバにTritonnをインストールしたけど、うまくインストールできなかった。

http://qwik.jp/tritonn/installrpm.html

最初のエラーは、メモとってなかったけど

# rpm -i MySQL-client-5.0.51-tritonn.1.0.8.i386.rpm
# rpm -i MySQL-server-5.0.51-tritonn.1.0.8.i386.rpm

を実行したときにperl(DBI)がないよというエラー。
普通CentOS 5.1で

yum -y install mysql mysql-devel mysql-server

のようにmysqlをインストールすると依存関係で以下のメッセージにあるようにパッケージを必要としていたので、依存関係にありそうなものとperl-DBIを一通りインストール。

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 mysql                   i386       5.0.22-2.2.el5_1.1  updates           3.0 M
 mysql-devel             i386       5.0.22-2.2.el5_1.1  updates           2.4 M
 mysql-server            i386       5.0.22-2.2.el5_1.1  updates            10 M
Installing for dependencies:
 e2fsprogs-devel         i386       1.39-10.el5_1.1  updates           563 k
 keyutils-libs-devel     i386       1.2-1.el5        base               27 k
 krb5-devel              i386       1.6.1-17.el5     base              1.9 M
 openssl-devel           i386       0.9.8b-8.3.el5_0.2  base              1.8 M
 perl-DBD-MySQL          i386       3.0007-1.fc6     base              147 k
 zlib-devel              i386       1.2.3-3          base              101 k

上記の依存関係部分だけをインストールしてから、再度以下を実行

# rpm -i MySQL-client-5.0.51-tritonn.1.0.8.i386.rpm
# rpm -i MySQL-server-5.0.51-tritonn.1.0.8.i386.rpm

MySQL-serverのrpmをインストール終わると自動でmysqlをサービスに登録するんだが、ここでまた以下のエラー。

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

中略

Starting MySQLCouldn't find MySQL manager or server[失敗]
Thank you for installing the MySQL Community Server! For Production
systems, we recommend MySQL Enterprise, which contains enterprise-ready
software, intelligent advisory services, and full production support with
scheduled service packs and more.  Visit www.mysql.com/enterprise for more
information.

Starting MySQLCouldn't find MySQL manager or server[失敗]とな?

# service mysql start

も失敗する。
http://blogs.dion.ne.jp/koko/archives/4343496.html
を参考にして、/etc/my.cnf中のbasedir=/var/libとなっていた部分をbasedir=/usrにしたら無事起動しました。

追記

上記、通常のmysql入れるときに必要になるdependenciesのリストを適当にインストールするようなこと書いていましたが、perl-DBD-MySQLは嘘でした。yum install perl-DBD-MySQLするとmysqlが入ってしまう。入れるとしたらTritonn入れてからっすね。


あと、その後も何度もインストール繰り返してうまくいく手順を探しています。上記手順でうまく言ったような気がしてたんだけど、何度もインストールを繰り返していると、どうもうまくいったりうまくいかなかったり。



いろいろ試した結果、間違えて通常のmysqlyumで入れた後、一旦mysqlを削除して、順にRPMTritonnを入れると、ちゃんと入るような気がする。なぜだ?


普通にTritonnをいれると、my.cnfなどは/usr/share/my-large.cnfとかを自分でコピーして使うんだが、間違えて、先にmysqlを入れちゃうとmysqlを削除しても、/etc/my.cnfが残っていたりする。この辺が影響しているようなきがしなくもない。


まだmy.cnfの違いによる挙動の違いがよくわかっていない。確かに、CentOSyumで入るmysqlはそれなりにCentOS用に調整してあるので、そのmy.cnfが残っていると初回起動時にそれにしたがってセットアップされて、それ以降うまくいくって言うような筋書きがあるような気がする。あくまで仮説。よくわかってないので引き続きいろいろ試します。


明日は月締めの処理があるが、てきぱき終わらせてmysqlのマニュアルを徹底的に調べよう。

判明!

殺したつもりだったselinuxが生きてました!

# service mysql restart
Shutting down MySQL.                                       [  OK  ]
Starting MySQL../etc/init.d/mysql: line 159: kill: (11791) - そのようなプロセスはありません
                                                           [失敗]

となったら

# setenforce 0

してみて、selinuxを止めてみてください。(ただしこの止めかたは、selinuxは一時的に止めただけです。)

# service mysql restart
Shutting down MySQL.                                       [  OK  ]
Starting MySQL../etc/init.d/mysql: line 159: kill: (11791) - そのようなプロセスはありません
                                                           [失敗]

それでもうまくうごかなかったら、一度以下を実行してみてください。

# mysqld_safe

もしも自分の環境でselinuxを止めても構わないと判断できるようでしたら、/etc/sysconfig/selinuxを編集して、SELINUX=...の値をpermissiveまたはdisabledに修正すると再起動後もselinuxが無効になります。

以上。