MySQL サーバーに PID ファイルを作成できません。権限が拒否されました

MySQL サーバーに PID ファイルを作成できません。権限が拒否されました

MySQL サーバーが起動せず、次のエラーが報告されています:

/usr/local/mysql/bin/mysqld: ファイル '/usr/local/mysql/data/James-Barnhills-Mac-Pro.local.pid' を作成/書き込みできません (エラーコード: 13)
サーバーを起動できません: PID ファイルを作成できません: アクセス権が拒否されました

すべての権限は次のように再帰的に設定されます。

lrwxr-xr-x 1 _mysql wheel 27 Nov 22 09:25 mysql -> mysql-5.5.18-osx10.6-x86_64

しかし、起動しません。何度か再インストールを試みましたが、効果はありませんでした。

私は Mac OS で root として実行しており、MySQL には「data」フォルダに対する読み取り、書き込み、および実行権限があります。

答え1

権限エラーは、ディレクトリが Octal Permission 0751 に設定されているために発生します。つまり、ユーザーは読み取り、書き込み、実行できますが、他のユーザーはできません。_mysql ユーザーではないため、権限がありません。この問題を解決するには、次の 2 つの方法があります。

  • mysqld サービスを起動するために使用するコマンドの前に sudo を置くことで起動できます。

    sudo サービス mysqld を開始

  • 権限を再帰的に 0771 に設定できます。これにより、wheel (管理者) グループがディレクトリに書き込むことができるようになります。

答え2

mysql を root として起動したからといって、実際にそのユーザーとして起動したわけではありません。/etc/my.cnf をチェックして、mysql データ ディレクトリの所有者が、パラメータ user=mysql_owner で指定されたものと同じかどうかを比較してください。

たとえば「mysql」の場合、root は mysql を起動する前にそのユーザーに切り替わります (バックグラウンドで)

関連情報