NetTOOLSLib home page

GoВосстановление root пароля MySQL

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

Далее в статье более детально рассписана процедура сброса паролья root в MySQL


1. Остановка сервиса MySQL


#systemctl stop mysql



2. Запустите сервер MySQL с опцией --skip-grant-tables

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


#systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"



(ранее предложенный во многих статьях вариант больше не работает #mysqld_safe --skip-grant-tables &)

3. Подключение к MySQL

Подключение к MySQL без пароля


#mysql -u root



4. Установка нового пароля


ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';
FLUSH PRIVILEGES;



если возникает ошибка, то необходимо таблицу изменить вручную


UPDATE mysql.user SET authentication_string = PASSWORD('NEW_PASSWORD')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;



результат выпорления должен быть


Query OK, 0 rows affected (0.00 sec)



5. Перезапуск сервера в обычном режиме

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


#systemctl stop mysql

#systemctl unset-environment MYSQLD_OPTS



Далее стандартный запуск MySQL или MariaDB


#systemctl start mysql



либо


#systemctl start mariadb



6. Подключение с новым паролем


#mysql -u root -p



Сервер работает в обычном режиме с измененным паролем администратора.

Go


NetTOOLSLib home page
(online network tools and utilities)