[ MySQL ] データベースの初期化と起動ユーザの設定 ( mysqld_safe )

Pocket

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 を変更する

(省略)
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *