MySQL 5.7 Немає каталогів, увійти за допомогою HOME = /


17

Вибачте, якщо це питання вже було задано, але я не можу знайти жодного рішення цього (можливо, невеликого) питання:

Я щойно зробив нову інсталяцію 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

Відповіді:


32

Маючи те саме питання, щоб позбутися цієї помилки, я зробив наступне

  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. Тож це здається нормальним ....
ostrokach

2
Чому це варто, я отримав цю помилку під час запуску mysql в Windows WSL. Помилка перестала виникати після того, як я вийшов з mysqld.exe у Windows. Порт 3306 був заявлений процесом Windows.
Азейра

0

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

mysql:x:106:111:MySQL Server,,,:/var/lib/mysql/:/bin/false
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.