ля свежих дистрибутивов VM Bitrix, где systemd управляет MySQL, восстановление (сброс) root-пароля делается по другому.
Все действия указаны от имени системного суперпользователя (root), т.е. после выполнения команды su или sudo su1. Остановите MySQL:
2. Задать упомянутый в других ответах параметр среды запуска:
Код |
---|
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" |
3. Запустить MySQL с новыми параметрами:
Код |
---|
systemctl start mysqld |
4. Залогиниться root'ом. После добавления настроек среды запуска из п.2, MySQL не должен спрашивать пароль:
5. Находясь в консоли (mysql>), нужно установить НОВЫЙ пароль root'а, например 123456, UPD ATE mysql.user SE T authentication_string = PASSWORD('123456') WHERE User = 'root' AND Host = 'localhost', затем выполнить FLUSH PRIVILEGES, чтобы сервер перезагрузил все таблицы предоставления прав:
(ВНИМАНИЕ, движок форума ломает SQL-команды)
Код |
---|
mysql> UPD ATE mysql.user SE T authentication_string = PASSWORD('123456') WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES; |
Если первый способ смены пароля не сработал, пароль можно также попробовать сменить так:
Код |
---|
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES; |
Пароль сменили, выходим из консоли:
6. Останавливаем MySQL:
7. Возвращаем настройки среды запуска MySQL обратно:
Код |
---|
systemctl unset-environment MYSQLD_OPTS |
8. Запускаем MySQL в обычном режиме:
Код |
---|
systemctl start mysqld |
9. Пробуем логиниться в MySQL root'ом с новым паролем 123456: