MySQL 5.7 Нет каталога, вход в систему с HOME = /

16

Извините, если этот вопрос уже был задан, но я не могу найти решение этой (возможно, небольшой) проблемы:

Я только что сделал новую установку MySQL-сервера 5.7 на сервере 14.04. Каждый раз, когда запускается служба 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 ??) Теперь он для / несуществующий:

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

но у меня есть другая машина с таким же / не существует, и он не показывает ошибки ...

орехи
источник
1
/ var / log / mysql ;-) см .: askubuntu.com/questions/539440/…
Rinzwind,
хорошо, в моем случае это началось и, кажется, работает нормально, просто показывает это уведомление
the_nuts

Ответы:

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, должен получить серьезный выговор .
Rinzwind
/ var / lib o / var / log? В любом случае, этот каталог, похоже, не заполняется какими-либо данными
the_nuts
2
да, это обходной путь, дайте мне знать, когда вы найдете решение.
Абдул Хейи,
1
Согласно этому сообщению , в Red Hat установлен домашний каталог mysql /var/lib/mysql. Так что это выглядит нормально ....
Острокач
2
Для чего это стоит, я получил эту ошибку, когда я запускал mysql в Windows WSL. Ошибка перестала происходить после того, как я вышел из mysqld.exe в Windows. Порт 3306 был заявлен процессом Windows.
Азейра,
0

Я бы также предложил постоянное решение, если оно всегда запускается из одного и того же каталога, как я полагаю, почему бы не отредактировать пользователя mysql в / etc / passwd:

mysql:x:106:111:MySQL Server,,,:/var/lib/mysql/:/bin/false
h.safe
источник