Как изменить корневой пароль в MySQL?

Вопрос или проблема

Я проверил более 25 ответов на AskUbuntu; ни один из них не подходит… Похоже, в данном случае я являюсь крайним случаем.

Я знаю, что был назначен пустой пароль, потому что в журнале MySQL есть запись, подтверждающая это. Несмотря на эту подсказку (в логах), я не могу войти с помощью mysql -u root -p. Нажатие клавиши ввода в ответ на запрос пароля отклоняется как недействительное.

Как я уже сказал, это, похоже, крайний случай, поскольку все предлагаемые решения (которые я пробовал) предполагают, что, в случае пустого пароля, вы можете войти и изменить его.

Несмотря на то, что лог сообщает, что был назначен пустой пароль, я не могу войти с “пустым паролем” (то есть, нажимая на пароль).

СРЕДА
Ubuntu Studio 23.10
MySQL 8.0.36

ЛОГ MYSQL

2024-04-19T07:15:40.204390Z 0 [System] [MY-013172] [Server] Получен SHUTDOWN от пользователя <via user signal>. Закрытие mysqld (версия: 8.0.36-0ubuntu0.23.10.1).
...
2024-04-16T18:27:18.733173Z 6 [Warning] [MY-010453] [Server] root@localhost создан с пустым паролем! Пожалуйста, рассмотрите возможность отключения опции --initialize-insecure.
...

Если у вас есть (в /var/log/mysql, error.log):
[Warning] [MY-010453] [Server] root@localhost создан с пустым паролем! Пожалуйста, рассмотрите возможность отключения опции –initialize-insecure.

Установленное программное обеспечение:

  • mysql Ver 8.0.40 для Linux на x86_64 (MySQL Community Server – GPL)
  • Ubuntu 20.04.6 LTS (WSL Linux на Windows)

Проблема с паролем решена с помощью Руководства по MySQL 8.4 – 2.9.4 Обеспечение безопасности начальной учетной записи MySQL

Если учетная запись root существует, но не имеет пароля, подключитесь к серверу как root без пароля и назначьте пароль. Это происходит, если вы инициализировали каталог данных с использованием mysqld –initialize-insecure.

  • Подключитесь к серверу как root без пароля:
$> sudo mysql -u root --skip-password
  • Назначьте пароль:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

После назначения пароля учетной записи root вы должны каждый раз вводить этот пароль при подключении к серверу с использованием этой учетной записи. Например, чтобы подключиться к серверу с помощью клиент mysql, используйте эту команду:

$> sudo mysql -u root -p
Enter password: (введите пароль root здесь)

Ответ или решение

Конечно, изменение пароля root для MySQL может стать насущной задачей, особенно если учетная запись root была создана с пустым паролем. Ваша проблема обостряется тем фактом, что стандартные решения, основанные на доступе к MySQL с пустым паролем, не работают в вашем случае. Давайте разберем шаги, которые помогут вам установить новый пароль для root в MySQL 8.0.36 на Ubuntu Studio 23.10.

Шаги по изменению пароля root в MySQL:

  1. Остановка службы MySQL:
    Прежде чем вносить изменения, необходимо остановить запущенный сервер MySQL. Это можно сделать с помощью следующей команды:

    sudo systemctl stop mysql
  2. Запуск MySQL в безопасном режиме:
    Необходимо запустить сервер MySQL, игнорируя таблицы привилегий. Это позволит вам получить доступ к базе данных без использования паролей:

    sudo mysqld_safe --skip-grant-tables &

    Этот процесс может занять некоторое время, так что будьте терпеливы.

  3. Подключение к серверу MySQL:
    Теперь вы можете подключиться к серверу MySQL без пароля, используя следующий команду:

    mysql -u root
  4. Обновление пароля root:
    Выполнив подключение, вам необходимо обновить пароль для учетной записи root:

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-password';

    Замените 'new-password' на ваш новый надежный пароль.

  5. Выход из MySQL и повторный запуск службы:
    Выйдите из консоли MySQL командой exit и затем перезапустите сервер MySQL, чтобы изменения вступили в силу:

    sudo systemctl start mysql
  6. Тестирование новый пароля:
    Проверьте, можете ли вы теперь войти в MySQL с новым паролем:

    mysql -u root -p

    Введите новый пароль по запросу.

Важные замечания:

  • Безопасность: Не забудьте установить сложный и безопасный пароль, чтобы защитить вашу базу данных.
  • Документация: Ознакомьтесь с документацией MySQL, чтобы убедиться, что настройки безопасности соответствуют вашим потребностям.

Следуя этим инструкциям, вы сможете задать новый пароль для учетной записи root и решить проблему с доступом, что повысит безопасность вашей базы данных. Если трудности возникнут снова, обратитесь к логам MySQL для дополнительного анализа.

Оцените материал
Добавить комментарий

Капча загружается...