opened image

Как сбросить пароль root для MySQL или MariaDB в Ubuntu: подробное руководство

 

 

Сброс пароля root для MySQL или MariaDB в Ubuntu

 


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

 

Предварительные требования

  • Права суперпользователя (root) или возможность использовать sudo.
  • Установленный MySQL или MariaDB сервер.
  • Доступ к терминалу на вашем сервере или рабочей станции.

 

Остановка службы MySQL/MariaDB

 

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

Для MySQL: sudo service mysql stop
Для MariaDB: sudo service mariadb stop

Проверьте, что служба остановлена:

sudo service mysql status
или
sudo service mariadb status

Запуск сервера в безопасном режиме

Запустите сервер в безопасном режиме с опцией --skip-grant-tables, чтобы отключить проверку привилегий и паролей.

sudo mysqld_safe --skip-grant-tables &

Примечание: Символ & позволяет запустить процесс в фоновом режиме.

 

Вход в консоль MySQL/MariaDB без пароля

Теперь вы можете войти в консоль базы данных без пароля:

mysql -u root

 

Обновление пароля root

В зависимости от версии вашей базы данных, команды могут отличаться.

Для MySQL 5.7 и выше:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'новый_пароль';

Для более ранних версий MySQL и MariaDB:
UPDATE mysql.user SET authentication_string=PASSWORD('новый_пароль') WHERE User='root' AND Host='localhost';

Важно: Замените 'новый_пароль' на ваш новый надежный пароль.

Применение изменений

FLUSH PRIVILEGES;

Выход из консоли

EXIT;

Остановка безопасного режима сервера

Найдите PID (идентификатор процесса) запущенного сервера и завершите его работу.

sudo kill `sudo cat /var/run/mysqld/mysqld.pid`

 

Перезапуск службы MySQL/MariaDB

Для перезапуска службы используйте следующие команды:

Для MySQL: sudo service mysql start
Для MariaDB: sudo service mariadb start

 

Проверка нового пароля

Попробуйте войти в консоль базы данных с новым паролем:

mysql -u root -p

 

Когда будет запрошен пароль, введите новый пароль.

 

Дополнительные меры безопасности

 

После выполнения основных мер безопасности важно продолжать поддерживать и улучшать защиту вашей базы данных. Ниже приведены дополнительные рекомендации, которые помогут обеспечить безопасность MySQL или MariaDB. 

 

  • Используйте mysql_secure_installation

Этот встроенный скрипт поможет настроить базовые параметры безопасности:

 

mysql_secure_installation

 

  • Создайте отдельных пользователей с минимальными привилегиями

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

 

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE ON database.* TO 'user'@'localhost';

 

  • Используйте ufw или другой брандмауэр для ограничения доступа к портам MySQL/MariaDB.

 

ufw allow from your_ip_address to any port 3306

 

Он позволит вам установить уровень сложности пароля, удалить анонимных пользователей, запретить удаленный вход root и удалить тестовую базу данных.

  • Обновите пароли для всех учетных записей root, если их несколько.
  • Ограничьте удаленный доступ к учетной записи root, редактируя файл конфигурации и устанавливая bind-address на 127.0.0.1.
  • Регулярно создавайте резервные копии ваших баз данных и настроек.

 

Заключение

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

 

Также предлагаем рассмотреть другие интересные статьи: