[MySQL] File ‘./mysql-bin.index’ not found (Errcode: 13)

MySQL をソースコードからインストールして、初期化後、起動したらエラーが発生したときの解決方法をご紹介します。

MySQL

前提条件 MySQL インストール

ちなみに、MySQLをソースコードからインストールする手順はこちらから。

エラー Starting MySQL.The server quit without updating PID file

 

MySQLを起動するとエラーが発生しました。

# service mysql start
Starting MySQL.The server quit without updating PID file (/[失敗]cal/mysql/data/bms.pid).

エラーの原因調査

詳しくエラー内容を見るために、直接 path を指定して実行した結果が以下のとおりです。

# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)
111102 16:31:21 [ERROR] Aborting
 
111102 16:31:21 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

mysql-bin.indexというファイルがないみたいで、実際に存在しませんでした。

原因は /usr/local/mysql 以下の全てのディレクトリの権限が root になっていたせいでした。

エラーの解決方法

mysql_install_db でMySQLの初期化を実行する前に、chown でディレクトリの権限を root から mysql に変更する必要があります。

ディレクトリの権限を mysql ユーザに変更して、

chown -R mysql:mysql /usr/local/mysql/

MySQLの初期化をすればOKです。

/usr/local/mysql/scripts/mysql_install_db \
		--user=mysql \
		--basedir=/usr/local/mysql \
		--datadir=/usr/local/mysql/data

以上、File ‘./mysql-bin.index’ not found (Errcode: 13) エラーを解決した、現場からお送りしました。

参考情報