Вопрос или проблема
На совершенно новой установке mysql на RHEL 8 меня ни разу не просят установить пароль root. Когда я запускаю mysql_secure_installation, он запрашивает пароль для пользователя root. У меня нет этого пароля, и оставлять его пустым тоже не сработало.
Сначала я проверил этот вопрос, но он, похоже, не решает мою проблему. Запуск команды с sudo никаких изменений не дает, а /var/log/mysql/mysql.log не существует, чтобы я мог проверить временный пароль.
Как я могу установить этот пароль при первоначальной настройке? mysql -u root --skip-password
, sudo mysql
, и использование файла инициализации также не сработали.
Ответ или решение
Вопрос о конфигурации MySQL, в частности о проблеме с установкой пароля для пользователя root на чистой установке на RHEL 8, вызывает множество трудностей у администраторов баз данных. Давайте подробнее рассмотрим, как решать возникшую у вас ситуацию.
Проблема
При установке MySQL на новую систему RHEL 8 вы не получили возможности установить пароль для пользователя root. Это приводит к тому, что при запуске утилиты mysql_secure_installation
система запрашивает пароль, к которому у вас нет доступа, и нажатие Enter не срабатывает, поскольку пароль не может быть пустым. Отсутствие файла /var/log/mysql/mysql.log
также затрудняет поиск временного пароля, который MySQL мог установить автоматически.
Решение
Чтобы установить пароль для пользователя root и выполнить успешную настройку MySQL, следуйте приведенным ниже шагам:
1. Запустите MySQL в безопасном режиме
Для начала, вам потребуется запустить MySQL в безопасном режиме, что позволит вам получить доступ к системе без проверки пароля. Выполните следующие шаги:
-
Остановите службу MySQL:
sudo systemctl stop mysqld
-
Запустите MySQL без проверки привилегий:
sudo mysqld_safe --skip-grant-tables &
2. Подключитесь к MySQL
Теперь, когда сервер работает в безопасном режиме, подключитесь к MySQL без пароля:
mysql -u root
3. Установите новый пароль для root
После успешного подключения выполните следующие команды, чтобы задать новый пароль для пользователя root:
FLUSH PRIVILEGES; -- Обновляет таблицы привилегий
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; -- Задайте новый пароль, замените 'NewPassword' на ваш желаемый пароль
4. Выйдите из MySQL
После установки пароля выйдите из MySQL:
EXIT;
5. Перезапустите MySQL
Закройте терминал, где был запущен MySQL в безопасном режиме, и перезапустите службу MySQL:
sudo systemctl start mysqld
6. Запустите mysql_secure_installation
Теперь вы можете правильно выполнять настройку MySQL с помощью mysql_secure_installation
. После запуска утилиты введите только что установленный пароль пользователя root, и теперь у вас будет доступ к необходимым настройкам, таким как удаление анонимных пользователей и отключение удаленного доступа для root.
mysql_secure_installation
Заключение
Ошибка, когда вы не можете установить пароль для пользователя root при первой установке MySQL, может быть довольно распространенной, особенно в системах RHEL 8. Следуя указанным шагам, вы получите доступ к управлению вашей базой данных и сможете своевременно обеспечить безопасность вашего приложения.
Важно помнить, что после установки пароля и конфигурации безопасности, вы должны строго следить за его безопасностью и использовать возможности управления пользователями MySQL для регулирования доступа к вашему серверу баз данных.
Если у вас возникнут дополнительные вопросы или потребуется больше информации, пожалуйста, не стесняйтесь задавать их.