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入れてからっすね。
あと、その後も何度もインストール繰り返してうまくいく手順を探しています。上記手順でうまく言ったような気がしてたんだけど、何度もインストールを繰り返していると、どうもうまくいったりうまくいかなかったり。
いろいろ試した結果、間違えて通常のmysqlをyumで入れた後、一旦mysqlを削除して、順にRPMでTritonnを入れると、ちゃんと入るような気がする。なぜだ?
普通にTritonnをいれると、my.cnfなどは/usr/share/my-large.cnfとかを自分でコピーして使うんだが、間違えて、先にmysqlを入れちゃうとmysqlを削除しても、/etc/my.cnfが残っていたりする。この辺が影響しているようなきがしなくもない。
まだmy.cnfの違いによる挙動の違いがよくわかっていない。確かに、CentOSにyumで入る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が無効になります。
以上。