Сброс пароля пользователя root в mysql.

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

Для этого необходимо выполнить всего несколько шагов.
1. Останавливаем mysql.
service mysqld stop
2. Запускаем mysql следующей командой:

/usr/bin/mysqld_safe --skip-grant-tables --user=root &

3. Запускаем клиента mysql
mysql -u root
4. Выполняем sql запрос
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
где newpwd - новый пароль.
5. Применяем изменения
FLUSH PRIVILEGES;
6. Выходим из mysql клиента выполнив в нем команду exit
7. Перегружаем mysql сервер.
service mysqld restart

Ну и все на этом. Пароль суперпользователя root для базы данных mysql изменен. Добавлю, что конечно же этот метод описан в официальном руководстве по mysql, но может кому пригодится. :-)

точном -- с амперсандом не

точном -- с амперсандом не создается файл mysql.sock, можно запускать без него и нажимать Ctrl+z

штуки на которые я напоролся

штуки на которые я напоролся -
1) амперсанд в конце “/usr/bin/mysqld_safe –-skip-grant-tables &” не нужен.
2) эта команда подвешивает консоль в которой была запущена, остальные комнады даём через новую консоль.
3) UPDATE mysql.user SET Password=PASSWORD(’newpwd’) WHERE User=’root’; - именно это и значит! я почти 20 минут вводил варианты, которые можно описать как UPDATE mysql.user SET Password=’newpwd’ WHERE User=’root’;

Небольшая поправочка. При

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

Движок приобразовует кавычки

Движок приобразовует кавычки =/
Вобщем коректная кавычка ставитца нажатием буквы "э" на английской раскладке.

В строке: UPDATE mysql.user

В строке:
UPDATE mysql.user SET Password=PASSWORD(’newpwd’) WHERE User=’root’;
не коректные кавычки, правильный вариант:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

Отличная инфа. Вот для

Отличная инфа.
Вот для Дебиан кому надо какие команды - посмотреть можно здесь www.opennet.ru/tips/info/1177.shtml

Спасибо за статью :) только

Спасибо за статью :) только что пригадилась на практике :) вобще за сайтик спасибо нередко выручал :)

Поправил. Спасибо. Написал я

Поправил. Спасибо. Написал я правильно, но отображалось неправильно. Wordpress два минуса при отображении в один минус трансформирует.

В статье ошибка, написано

В статье ошибка, написано "/usr/bin/mysqld_safe –skip-grant-tables –user=root &", а нужно
"/usr/bin/mysqld_safe –-skip-grant-tables –-user=root &" иначе будет выдавать ошибку и работать не будет.

Возможно у тебя mysqld_safe

Возможно у тебя mysqld_safe находится по другому пути. Не в /usr/bin/. В любом случае не запускается mysql сервер. Попробуй командой whereis mysqld_safe узнай путь к твоему файлу mysqld_safe.

Чё то у меня на 3м шаге

Чё то у меня на 3м шаге обламывает.
выполняю mysql -u root
пишет
[3+] stopped ./mysqld_safe --skip-grant-tables --user=root &