img

Как сбросить root пароль на MySQL?

Может так случиться, что вы забудете или потеряете свой root пароль MySQL, но не стоит отчаиваться – его можно сбросить и восстановить доступ. Что нам нужно знать так это то, что пароль хранится в таблице пользователей. Это означает, что нам нужно найти способ обойти аутентификацию MySQL, чтобы мы могли обновить запись пароля.

К счастью, это легко сделать, и это руководство проведет вас через процесс восстановления или сброса пароля root в версии MySQL 8.0.

Согласно документации по MySQL, существует два способа сброса корневого пароля MySQL и в этой статье мы рассмотрим оба.

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

Сброс MySQL root пароля с использованием –init-file

Один из способов сброса пароля root - создать локальный файл, а затем запустить службу MySQL, используя параметр --init-file, как показано ниже:

# vim /home/user/init-file.txt

Важно убедиться, что файл доступен для чтения пользователю mysql. В этот файл вставьте следующее и измените «new_password» на пароль, который вы хотите использовать:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Теперь убедитесь, что служба MySQL остановлена. Вы можете сделать следующее:

# systemctl stop mysqld.service     # для дистрибутивов использующих systemd 
# /etc/init.d/mysqld stop           # для дистрибутивов использующих init

Далее запустите следующее:

# mysqld --user=mysql --init-file=/home/user/init-file.txt --console

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

После этого обязательно остановите сервер и запустите его как обычно.

# systemctl stop mysqld.service        # для дистрибутивов использующих system
# systemctl restart mysqld.service     # для дистрибутивов использующих systemd
# /etc/init.d/mysqld stop              # для дистрибутивов использующих init 
# /etc/init.d/mysqld restart          # для дистрибутивов использующих init

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

# mysql -u root -p

Сброс MySQL root пароля с использованием –skip-grant-tables

Второй вариант - запустить службу MySQL с параметром --skip-grant-tables. Это менее безопасно, так как пока служба запускается таким образом, все пользователи могут подключаться без пароля.

Если сервер запущен --skip-grant-tables, опция для --skip-network активируется автоматически, поэтому удаленные подключения не будут доступны.

Сначала убедитесь, что служба MySQL остановлена.

# systemctl stop mysqld.service     # для дистрибутивов использующих systemd 
# /etc/init.d/mysqld stop           # для дистрибутивов использующих init

Затем запустите службу с помощью следующей опции.

# mysqld --skip-grant-tables --user=mysql &

Теперь вы можете подключиться к серверу MySQL, просто используя:

# mysql

Поскольку управление учетными записями отключается при запуске службы с параметром --skip-grant-tables, нам придется перезагрузить гранты. Таким образом, мы сможем изменить пароль позже:

# FLUSH PRIVILEGES;

Теперь вы можете выполнить следующий запрос, чтобы обновить пароль. Обязательно замените «new_password» реальным паролем, который вы хотите использовать.

# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

Теперь остановите сервер MySQL и запустите его как обычно.

# systemctl stop mysqld.service        # для дистрибутивов использующих system
# systemctl restart mysqld.service     # для дистрибутивов использующих systemd
# /etc/init.d/mysqld stop              # для дистрибутивов использующих init 
# /etc/init.d/mysqld restart          # для дистрибутивов использующих init

Теперь вы сможете подключиться с новым паролем:

# mysql -u root –p
Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Виртуализация серверов – это разделение одного физического сервера на несколько виртуальных серверов, каждый из которых работает
img
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В докум
img
Удаленный доступ к системам давно стал необходимостью, и сейчас с трудом можно представить, что было бы, если бы мы не могли упр
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую р
img
Архитектуры х64 и х86 являются одними из наиболее широко используемых типов архитектур системы команд (АСК или ISA – Instr
img
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файл
Комментарии
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59