Как установить, изменить и восстановить пароль 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 года.
Оригинал