![mysqldはテストファイルを作成できないため、errcode:13を返します。](https://rvso.com/image/1036656/mysqld%E3%81%AF%E3%83%86%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81errcode%3A13%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
11.04 の新規インストール。次に、ここにあるすべての手順に従いました: http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-11.04-lamp
今、mysqld を実行すると、次のエラーが発生します:
makara@rahu:~$ mysqld
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
111103 13:39:37 [ERROR] Aborting
111103 13:39:37 [Note] mysqld: Shutdown complete
IRC の誰かが、パッケージの問題かもしれないと言っていました。
ありがとうビート
答え1
Oneiric から Precise にアップグレードした後 (MySQL を 5.1 から 5.5 にアップグレードした後)、同じ問題が発生しました。
私の場合、問題は
/etc/apparmor.d/local/usr.sbin.mysqld
含まれていたにもかかわらず、
/etc/apparmor.d/usr.sbin.mysqld
デフォルトでは、単純な
sudo touch /etc/apparmor.d/local/usr.sbin.mysqld
問題は解決しました。
検索している人へ: 興味深い情報を保持するログファイルは /var/log/upstart/mysql です。/var/log/mysql(*|/*) には何も記録されません。
表示される内容は次のとおりです:
sudo service mysql start
結果的に開始: ジョブの開始に失敗しました
通常ユーザーとして手動で起動しようとすると、
mysqld
通常どおり失敗します (上記の問題が発生する前)。これは、ユーザーが /var/lib/mysql にアクセスできないためです (これは syslog で確認できます)。mysqld を root として起動すると成功します (理由はわかりません)
答え2
mysqld は mysql ユーザーとして実行する必要があります。デーモンを手動で実行しないでください。次のようにサービスとして起動する方がよいでしょう。
sudo service mysql start
エラー メッセージは、mysql サービスが、ユーザー環境でアクセスを許可されていない特定のファイルにアクセスできないことを示しています。したがって、この動作は正しいはずです。ただし、ディレクトリが存在するかどうか、誰がディレクトリを所有しているか、誰がディレクトリにアクセスできるのかを確認する必要があります (このためには ls -la を使用します)。
ls -la /var/lib/
ls -la /var/lib/mysql