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 を起動する前にそのユーザーに切り替わります (バックグラウンドで)