Наша память, к сожалению, нас иногда подводит. И мы никак не можем вспомнить железно, как нам кажется, отпечатанный в памяти пароль. Вы можете сказать, что нужно иметь записную книжку а лучше две, и конечно будете правы. Но... Тем не менее иногда все-таки возникает необходимость восстановления забытого, либо утраченного пароля. Сегодня я опишу простой метод восстановления пароля суперпользователя 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 &