Как установить, изменить и восстановить пароль root для MySQL

4 января 2025 г.

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

Процесс полностью управляется через командную строку и работает с установками MySQL или MariaDB. Используемый дистрибутив Linux не имеет значения, если у вас есть доступ администратора через su или sudo.

СМОТРИТЕ: Краткое и емкое руководство по движкам баз данных MySQL

Как установить пароль MySQL в первый раз

Обратите внимание, что я буду ссылаться на MySQL, подразумевая, что все будет работать как для MySQL, так и для MariaDB.

Обычно во время установки MySQL и MariaDB вас просят установить начальный пароль. Если этого не произошло, вам нужно будет установить пароль в первый раз. Для этого откройте окно терминала и введите следующую команду:

mysqladmin -u пароль root НОВЫЙПАРОЛЬ

В этом случае NEWPASSWORD — это пароль-заполнитель. Далее, когда вы войдете в MySQL с помощью команды mysql -u root -p, вам будет предложено ввести новый настроенный пароль.

Альтернативный метод установки пароля root в первый раз — который добавляет немного безопасности вашей базе данных MySQL — это использование команды mysql_secure_connection. Эта команда установит пароль пользователя root и позволит вам удалить анонимных пользователей, запретить удаленный вход root и удалить тестовую базу данных. Чтобы использовать эту команду, просто введите:

mysql_secure_connection

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

СМ.: Политика управления паролями

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

Чтобы сбросить пароль MySQL, сначала необходимо создать новый файл со следующим содержимым:

ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'localhost', ИДЕНТИФИКИРОВАННОГО 'ПАРОЛЕМ';

PASSWORD — новый пароль, который будет использоваться. Сохраните этот файл как ~/mysql-pwd.

Затем остановите демон MySQL с помощью команды:

sudo systemctl остановить mysql

Остановив демон, введите команду:

sudo mysqld -init-file=~/mysql-pwd

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

sudo systemctl запустить mysql

Теперь вы сможете войти в командную строку MySQL с новым паролем администратора, например, так:

mysql -u корень -p

При появлении запроса введите пароль администратора, и все готово.

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

Чтобы изменить пароль пользователя, не являющегося пользователем root, после входа в систему выполните следующий запрос:

ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ «имя пользователя»@«хост», ИДЕНТИФИЦИРОВАННОГО «ПАРОЛЕМ»;

Где username — имя пользователя MySQL, host — хост, с которого пользователь может подключиться, а PASSWORD — новый пароль по выбору.

Затем примените изменения, выполнив команду:

ПРИВИЛЕГИИ ОЧИСТКИ;

Как восстановить пароль MySQL

Что делать, если вы забыли пароль пользователя root MySQL? Чтобы восстановить пароль, вам просто нужно выполнить следующие шаги:

    Остановите процесс сервера MySQL с помощью команды sudo service mysql stop Запустите сервер MySQL с помощью команды sudo mysqld_safe –skip-grant-tables –skip-networking & Подключитесь к серверу MySQL как пользователь root с помощью команды mysql -u root

На этом этапе вам необходимо выполнить следующие команды MySQL для сброса пароля root:

mysql> использовать mysql; ‹mysql> обновить пользователя установить authentication_string=password('NEWPASSWORD') где user='root'; ‹mysql> сбросить привилегии; ‹mysql> выйти

Где NEWPASSWORD — новый пароль, который будет использоваться.

Перезапустите демон MySQL с помощью команды sudo service mysql restart. Теперь вы сможете войти в MySQL с новым паролем.

Вот и все. Теперь вы можете устанавливать, сбрасывать и восстанавливать свой пароль MySQL.

СМ.: Как выполнять запросы к нескольким таблицам в SQL

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

Иногда вам может понадобиться сгенерировать список пользователей и паролей MySQL, например, для аудита или резервного копирования учетных данных. Вы можете сделать это, запросив таблицу mysql.user, но учтите, что пароли хранятся в хэшированном формате, поэтому их нельзя получить напрямую в виде открытого текста.

Выполните следующий запрос для извлечения столбцов пользователя и пароля:

ВЫБРАТЬ Пользователь, Хост, строка_аутентификации ИЗ mysql.user;

Где User — имя пользователя MySQL, Host — хост, с которого пользователь может подключиться, например localhost, а authentication_string — хешированный пароль.

Установите сложный пароль для пользователя root в MySQL.

Хочу напомнить вам, как важно установить сложный пароль для пользователя root MySQL. Учитывая текущее состояние атак в сфере ИТ, я настоятельно рекомендую вам использовать надежные пароли для ваших баз данных. Вместо использования легко запоминающегося пароля используйте генератор случайных паролей и храните его в менеджере паролей. Будьте безопаснее, чем безопаснее.

Фиона Джексон обновила эту статью в январе 2025 года.

Подпишитесь на рассылку Developer Insider От самых популярных языков программирования до комментариев по ОС Linux — получайте новости и советы от разработчиков и разработчиков с открытым исходным кодом, которые вам нужно знать. Доставка по вторникам и четвергам Адрес электронной почты Подписываясь на нашу рассылку, вы соглашаетесь с нашими Условиями использования и Политикой конфиденциальности. Вы можете отписаться в любое время. Подписаться
Подпишитесь на рассылку Developer Insider От самых популярных языков программирования до комментариев по ОС Linux — получайте новости и советы от разработчиков и разработчиков с открытым исходным кодом, которые вам нужно знать. Доставка по вторникам и четвергам Адрес электронной почты Подписываясь на нашу рассылку, вы соглашаетесь с нашими Условиями использования и Политикой конфиденциальности. Вы можете отписаться в любое время. Подписаться

Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE