четверг, 31 июля 2008 г.

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

Угораздило забыть пароль root'a на одном из серверов. Решение нашлось достаточно простое:


# /etc/init.d/mysql stop

# mysqld_safe --skip-grant-tables &

Теперь можно заходить как root без пароля:

# mysql -u root

меняем пароль:

UPDATE mysql.user SET Password=PASSWORD("новый пароль") WHERE User='root';
FLUSH PRIVILEGES;

Запускаем сервер в нормальном режиме:

#/etc/init.d/mysql stop
#/etc/init.d/mysql start

Все!

2 комментария:

Анонимный комментирует...

В Debian это сделать ещё проще - sudo dpkg-reconfigure mysql-server-версия.

Самому не так давно пришлось подобный трюк проделывать - архисложный уникальный пароль вылетел из головы :(

wilber комментирует...

Спасибо за описаный способ. Хочу только заметить, что при попытке сделать также в Fedora 8, при попытке установить новый пасс сервер ругался "ERROR 1046 (3D000): No database selected". После перезапуска консоли с указанием базы: mysql -u root mysql все прошло удачно.