MySQL5.5 の起動失敗の原因の1つに、データベースの初期化を行ったユーザーと mysqld_safe のユーザー設定に齟齬があることが考えられます。
スポンサーリンク
MySQL 起動失敗時の内容
sakura の VPS サーバ ( CentOS6 ) で MySQL-5.5.29 の起動失敗したときのログ内容です。
130117 14:46:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 130117 14:46:53 [ERROR] Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists! 130117 14:46:53 [ERROR] Aborting 130117 14:46:53 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete 130117 14:46:53 mysqld_safe mysqld from pid file /usr/local/mysql/data/pmup.jp.pid ended
Fatal error: Can’t change to run as user ‘mysql’
ユーザー : mysql が存在しないと怒っています。確かに存在しません。「 Please check that the user exists! 」 の最後のビックリマークがなんだか強気です。ピリオドでいいんじゃないでしょうか。
エラーの対処方法
mysql ユーザーを作成すると解決するかもしれませんが、以下のように既に別のユーザー ( otheruser ) で MySQL をインストール・初期化しています。
mysql_install_db --user=otheruser --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
mysql ユーザーを作成するのみで全てが解決できるか不安も残ります。ここでは、mysqld_safe で MySQL の起動ユーザーを変更して対処する方法を紹介します。下記のようにパラメータ user を変更します。
vi /usr/local/mysql/bin/mysqld_safe (省略) # Initial logging status: error log is not open, and not using syslog logging=init want_syslog=0 syslog_tag= #user='mysql' user='otheruser' # ← user を変更する (省略)