Восстановление root-пароля mysql

В наше время сложно удивить кого-либо забытым паролем, особенно если он не слишком ходовой – такой как пароль root в mysql. К счастью, восстанавливается он очень легко, достаточно иметь доступ к остановке/запуску самого mysql.

Самый простой вариант – запустить mysql с параметром --skip-grant-tables, который позволит подключаться к серверу без пароля, и установить новый пароль root. Для предотвращения несанкционированного доступа в момент восстановления, этот вариант рекомендую использовать совместно с ключом --skip-networking, запрещающим подключения к mysql по сети.

1 Запускаем mysqld с ключами --skip-grant-tables и --skip-networking

2 Подключаемся к mysql

3 Устанавливаем новый пароль SQL запросом:

Для MySQL 8.0

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

Для MySQL 5.x версий:

UPDATE mysql.user
SET Password=PASSWORD('NewPassword')
WHERE User='root';

4 Перезапускаем mysqld в нормальном режиме