- Вопрос или проблема
- mysqld_safe (бинарный/скриптовый файл) безусловно больше не является частью пакета MySQL 8 (8.0.36) в Red Hat 8 и, возможно, других дистрибутивах Linux.
- Ответ или решение
- Установка пароля root для MySQL на RHEL 8
- Введение
- Шаг 1: Остановка службы MySQL
- Шаг 2: Запуск MySQL в безопасном режиме
- Шаг 3: Вход в MySQL без пароля
- Шаг 4: Установка нового пароля для пользователя root
- Шаг 5: Возвращение к нормальным параметрам
- Шаг 6: Проверка работы
- Заключение
- SEO-Оптимизация
Вопрос или проблема
На совершенно новой установке mysql на RHEL 8 меня ни разу не спрашивают о том, чтобы установить пароль для пользователя root. Когда я запускаю mysql_secure_installation
, он запрашивает пароль для пользователя root. У меня этого пароля нет, и оставлять его пустым тоже не работает.
Сначала я проверил этот вопрос, но, похоже, он не решает мою проблему. Запуск команды с sudo ничего не меняет, а /var/log/mysql/mysql.log
не существует, чтобы проверить временный пароль.
Как я могу установить этот пароль при первоначальной настройке? mysql -u root --skip-password
, sudo mysql
и использование файла инициализации также не сработали.
Обновление: Этот вопрос имеет решение, которое включает использование файла инициализации, что, как я уже отметил, не сработало.
“Когда я запускаю
mysql_secure_installation
, он запрашивает пароль для пользователя root. У меня нет этого пароля, и оставлять его пустым тоже не работает.”
Это потому, что у вас не установлен пароль пользователя root
. Следуйте этим шагам, чтобы установить пароль пользователя root
с MySQL 8.0.
Первое, что нужно знать, это то, что старый метод mysqld_safe
больше не работает… Подробности ниже.
mysqld_safe
(бинарный/скриптовый файл) безусловно больше не является частью пакета MySQL 8 (8.0.36) в Red Hat 8 и, возможно, других дистрибутивах Linux.
Он мог исчезнуть (в качестве бинарного/скриптового файла) из установки MySQL на системах, управляемых systemd
, начиная с MySQL 5.7.6 согласно ответу на Stack Overflow:
“Начиная с MySQL 5.7.6, для установки MySQL с использованием RPM-дистрибутива запуск и остановка сервера управляются systemd на нескольких платформах Linux. На этих платформах mysqld_safe больше не устанавливается, так как это излишне. Для получения дополнительной информации см. Раздел 2.5.10, «Управление сервером MySQL с помощью systemd».”
Независимо от причины, если вы получаете это сообщение при попытке запустить mysqld_safe
:
mysqld_safe: команда не найдена
И ваша система работает на systemd
(также известном как: systemctl
), то это точно современный ответ, который решит ваши проблемы в 4 простых шага! Поехали!
- Остановите
mysqld
и перезапустите его с правильнымиMYSQLD_OPTS
:sudo service mysqld stop; sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"; sudo service mysqld start;
- После запуска MySQL войдите в MySQL как
root
без пароля:mysql -u root;
- Теперь в MySQL выполните эти команды; обратите внимание, что
[пароль]
следует заменить на тот пароль MySQL, который вы хотите установить:FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '[пароль]'; FLUSH PRIVILEGES; exit;
Обратите внимание, я считаю, что первый
FLUSH PRIVILEGES;
связан с запуском MySQL с установленнымMYSQLD_OPTS
равным--skip-grant-tables
. В любом случае, запускFLUSH PRIVILEGES;
не несет никакого риска/опасности. - Теперь верните
MYSQLD_OPTS
и перезапустите MySQL следующим образом:sudo service mysqld stop; sudo systemctl unset-environment MYSQLD_OPTS; sudo service mysqld start;
Теперь, когда все это сделано, попробуйте войти в MySQL как root с паролем следующим образом:
mysql -u root -p
Нажмите Enter/Return, затем введите свой новый root
пароль и… вуаля! Вы должны войти в MySQL как root
!
Примечание: Я выбрал установить пароль с помощью плагина аутентификации caching_sha2_password
, но если вы хотите быть более современным, вы можете использовать mysql_native_password
следующим образом:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[пароль]';
Ответ или решение
Установка пароля root для MySQL на RHEL 8
Введение
При установке MySQL на минимально настроенной системе RHEL 8 может возникнуть проблема, когда вы не задаете пароль для пользователя root
. При попытке запустить mysql_secure_installation
, система запрашивает пароль, но поскольку он не был установлен, доступ невозможен. В данной статье мы подробно рассмотрим, как установить пароль для пользователя root
, используя современные методы, совместимые с MySQL 8.0.
Шаг 1: Остановка службы MySQL
Первым делом необходимо остановить службу MySQL. Для этого используйте команду:
sudo systemctl stop mysqld
Шаг 2: Запуск MySQL в безопасном режиме
Затем вы должны запустить MySQL с параметрами, которые отключат проверку прав доступа и сетевые подключения. Это позволит вам войти в систему без пароля.
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
sudo systemctl start mysqld
Шаг 3: Вход в MySQL без пароля
Теперь вы можете подключиться к серверу MySQL без пароля:
mysql -u root
Шаг 4: Установка нового пароля для пользователя root
После входа в MySQL выполните следующие команды для установки нового пароля. Не забудьте заменить [password]
на желаемый пароль:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '[password]';
FLUSH PRIVILEGES;
exit;
Первая команда FLUSH PRIVILEGES;
применяется для обновления прав пользователей, а вторая команда устанавливает новый пароль для пользователя root
.
Шаг 5: Возвращение к нормальным параметрам
После успешной установки пароля необходимо вернуть MySQL в обычный режим работы. Для этого:
sudo systemctl unset-environment MYSQLD_OPTS
sudo systemctl stop mysqld
sudo systemctl start mysqld
Шаг 6: Проверка работы
Теперь вы можете проверить, сможете ли вы войти в систему под пользователем root
с использованием нового пароля:
mysql -u root -p
Введите установленный вами пароль, и если все прошло успешно, вы получите доступ к MySQL.
Заключение
Установка пароля для пользователя root
в MySQL 8 на RHEL 8 — это процесс, который может показаться сложным, но, следуя вышеописанным шагам, вы сможете решить проблему на ранней стадии настройки системы. Если у вас возникли трудности, не стесняйтесь заглядывать в справочную документацию MySQL или обращаться за помощью в сообщества.
SEO-Оптимизация
Если вы ищете информацию о том, как установить пароль для root
в MySQL на RHEL 8, этот гайд предоставляет четкие инструкции и решения, защищая вашу систему от возможных угроз безопасности. Обязательно применяйте безопасные практики и следите за актуальными версиями программного обеспечения.