MySQL 5.7ディレクトリなし、HOME = /でログイン


16

この質問が既に聞かれている場合は申し訳ありませんが、この(おそらく小さな)問題の解決策は見つかりません。

14.04サーバーにmysql-server 5.7を新規インストールしました。MySQLサービスが開始されるたびに、次のエラーが表示されます。

root@xxx:/etc/mysql# service mysql restart
 * Stopping MySQL Community Server 5.7.11
...
 * MySQL Community Server 5.7.11 is stopped
 * Re-starting MySQL Community Server 5.7.11
No directory, logging in with HOME=/
..
 * MySQL Community Server 5.7.11 is started

どういう意味ですか?ユーザー「mysql」にホームディレクトリを設定する必要がありますか?(もしそうなら、最良の選択は何ですか?/ home / mysql ??)これで/ nonexistentになります:

mysql:x:110:106:MySQL Server,,,:/nonexistent:/bin/false

しかし、同じ/ nonexistentを持つ別のマシンがあり、エラーは表示されません...


1
/ var / log / mysql ;-)参照:askubuntu.com/questions/539440/…– Rinzwind 16
22:34

回答:


31

このエラーを取り除くために同じ問題を抱えて、私は次のことをしました

  1. MYSQLサービスを停止します。

    sudo service mysql stop

  2. mysqlのホームディレクトリを存在しないディレクトリから元のディレクトリに変更します。

    sudo usermod -d /var/lib/mysql/ mysql

次に、mysqlサーバーを再起動します。

sudo service mysql start

エラーメッセージが消えました。まだこれが起こる理由は不明です。


1
それは回避策かもしれませんが、私はこれに反対します。/ home /はユーザー向けです。セキュリティ/許可/その他に必要なダミーユーザーのための場所を作成するためではありません。/ home / mysqlを提案し、実際のmysqlユーザーを作成する人は、厳しく re責されるべきです。
リンツウィンド

/ var / lib o / var / log?とにかく、そのディレクトリにはデータが入力されていないようです
-the_nuts

2
回避策です。解決策が見つかったらお知らせください。
アブドゥル・ハイー

1
この投稿によると、Red Hatのmysqlホームディレクトリはに設定されてい/var/lib/mysqlます。だからこれは大丈夫だと思う
....-ostrokach

2
価値のあることですが、Windows WSLでmysqlを実行しているときにこのエラーが発生しました。Windowsでmysqld.exeを終了した後、エラーが発生しなくなりました。ポート3306は、Windowsプロセスによって要求されました。
アゼイラ

0

/ etc / passwdのユーザーmysqlを編集しないのはなぜだと思うのと同じディレクトリから常に実行する場合は、永続的な解決策を提案します。

mysql:x:106:111:MySQL Server,,,:/var/lib/mysql/:/bin/false
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.