Rocky Linux 9 — это надежная и стабильная операционная система, ориентированная на корпоративное использование. В некоторых случаях может возникнуть необходимость сбросить пароль root для MySQL или MariaDB, установленного на этой системе. В этом руководстве мы подробно рассмотрим, как выполнить этот процесс безопасно и эффективно.
Предварительные требования
- Доступ с правами root или возможность использовать sudo.
- Установленный MySQL или MariaDB сервер на Rocky Linux 9.
- Терминальный доступ к серверу.
Остановка службы MySQL/MariaDB
Прежде всего, необходимо остановить службу базы данных.
Для MySQL: sudo systemctl stop mysqld
Для MariaDB: sudo systemctl stop mariadb
Проверьте статус службы:
sudo systemctl status mysqld
или
sudo systemctl status mariadb
Убедитесь, что служба успешно остановлена.
Запуск сервера без проверки привилегий
Запустите сервер с опцией --skip-grant-tables, чтобы отключить систему контроля доступа.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Примечание: Опция --skip-networking отключает сетевые сокеты для повышения безопасности во время выполнения этой операции.
Вход в консоль базы данных
Теперь можно войти в консоль MySQL/MariaDB без пароля:
mysql -u root
Сброс пароля root
Выполните следующие команды в зависимости от используемой версии базы данных.
Для MySQL 8.0 и выше:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_pass';
Для MariaDB и более ранних версий MySQL:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_pass');
Важно: Замените 'новый_пароль' на новый надежный пароль.
Обновление привилегий
FLUSH PRIVILEGES;
Выход из консоли
EXIT;
Остановка сервера, запущенного без привилегий
Найдите и завершите процесс сервера:
sudo killall mysqld
Перезапуск службы MySQL/MariaDB
Для перезапуска службы используйте следующие команды:
Для MySQL: sudo systemctl start mysqld
Для MariaDB: sudo systemctl start mariadb
Убедитесь, что служба запущена и работает корректно:
sudo systemctl status mysqld
или
sudo systemctl status mariadb
Проверка доступа с новым паролем
Проверьте возможность входа с новым паролем:
mysql -u root -p
Введите новый пароль, когда будет запрошено.
Мониторинг и управление доступом
После выполнения основных мер безопасности важно продолжать поддерживать и улучшать защиту вашей базы данных. Ниже приведены дополнительные рекомендации, которые помогут обеспечить безопасность MySQL или MariaDB.
- Используйте mysql_secure_installation
Этот встроенный скрипт поможет настроить базовые параметры безопасности:
sudo mysql_secure_installation
Он позволит вам установить уровень сложности пароля, удалить анонимных пользователей, запретить удаленный вход root и удалить тестовую базу данных.
Создайте отдельных пользователей с минимальными привилегиями
- Вместо использования учетной записи 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, если они существуют для разных хостов.
- Ограничьте доступ к серверу, настроив файрволл с помощью firewalld или iptables.
- Настройте SELinux для дополнительного уровня безопасности, если он включен.
Заключение
Сброс пароля root для MySQL или MariaDB в Rocky Linux 9 — это процесс, который можно выполнить безопасно, если следовать правильным шагам. Это руководство предоставило вам пошаговые инструкции для успешного выполнения задачи. Всегда поддерживайте высокий уровень безопасности, регулярно обновляя пароли и контролируя доступ к вашему серверу базы данных.
Также предлагаем рассмотреть другие полезные статьи: