Сброс пароля пользователя 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, но может кому пригодится. :-)

Рейтинг@Mail.ru

. Трудоустройство за границей. (работа Одесса) вакансии компании.; жесткие холодильные двери; Недорогой ламинат квик доставка платная

Создать бесплатный сайт, зарегистрируясь в конструкторе сайта.
ПРАЙД - видеосъемка, видеомонтаж, телепроизводство, корпоративы
Долговечная ванна чугунная в туалет

10 Comments


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

    Quote | Posted August 16, 2007, 6:23 am

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

    Quote | Posted August 16, 2007, 8:49 am

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

    Quote | Posted November 29, 2007, 9:20 am

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

    Quote | Posted November 29, 2007, 10:26 am

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

    Quote | Posted December 11, 2007, 3:36 pm

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

    Quote | Posted January 21, 2008, 5:46 pm

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

    Quote | Posted September 14, 2008, 5:24 pm

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

    Quote | Posted September 14, 2008, 5:27 pm

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

    Quote | Posted November 23, 2008, 1:30 am

  10. штуки на которые я напоролся -
    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’;

    Quote | Posted December 16, 2008, 5:43 pm

Leave a reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image