mysqld がない
RedHat Enterprise Linux 5 の設定をしていたら、mysqld がないために MySQL が起動できない状態だった。
MySQL の再インストールを試みる
# rpm -e --test mysql
で MySQL の依存関係を調べてみると、devecot が依存しているようだった。devecot を再インストールすることにして、まずは devecot のアンインストールをする。
# rpm -e --test devecot #
特に依存しているものがないようなので、アンインストールする。
# rpm -e devecot
そして、MySQL をアンインストールする。
# rpm -e mysql
そして、MySQL のオフィシャルサイトから、MySQL の rpm パッケージをダウンロードhttp://dev.mysql.com/downloads/する。
ダウンロードしたのは、「Red Hat Enterprise Linux 5 RPM (x86)」版の「Server」「Client」「Shared libraries」をダウンロードする。
# mkdir rpm # wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-server-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/ # wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-client-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/ # wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-shared-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/
念のため、インストール前に確認をする。
# rpm -Uvh --test "MySQL-*.rpm"
エラーが発生しなければ、MySQL をインストールする。
# rpm -Uvh "MySQL-*.rpm"
インストール後に、起動をする。
# /etc/rc.d/init.d/mysql start Starting MySQLCouldn't find MySQL manager (/var/lib/bin/mysqlmanager) or server (/var/lib/bin/mysqld_safe) [failed]
起動しない…。念のため、シェルが吐き出しているエラーの内容を確認する。
# /bin/bash -x /etc/rc.d/init.d/mysql start + manager=/var/lib/bin/mysqlmanager + test -x /var/lib/libexec/mysqlmanager + test -x /var/lib/sbin/mysqlmanager + echo -n 'Starting MySQL' Starting MySQL+ test -x /var/lib/bin/mysqlmanager -a 1 = 0 + test -x /var/lib/bin/mysqld_safe + log_failure_msg 'Couldn'\''t find MySQL manager (/var/lib/bin/mysqlmanager) or server (/var/lib/bin/mysqld_safe)' + /etc/redhat-lsb/lsb_log_message failure 'Couldn'\''t find MySQL manager (/var/lib/bin/mysqlmanager) or server (/var/lib/bin/mysqld_safe)' Couldn't find MySQL manager (/var/lib/bin/mysqlmanager) or server (/var/lib/bin/mysqld_safe) [失敗] + exit 0
エラーを見ると、「/var/lib/bin/mysqld_safe」の存在の確認で失敗している。
mysqlmanager と mysqld_safe を探す。
# find / -type f -name mysqlmanager /usr/sbin/mysqlmanager # find / -type f -name mysqld_safe /usr/bin/mysqld_safe
参照しているディレクトリが異なるようだ。なので、mysqld_safe の参照先を修正する。
# vi /etc/my.cnf [mysql.server] user=mysql #basedir=/var/lib basedir=/usr
保存をしたら、MySQL を起動してみる。
# /etc/rc.d/init.d/mysql start
Starting MySQL. [ OK ]
やっと起動した…。