Как изменить пароль root`а на MySQL-сервер?

Старый логотип MySQL

Пароль на MySQL-сервер – это такая вещь, которую если не записал, то когда он понадобиться, то не вспомнишь. Этот пароль на тех web-проектах, которые работают давно и не подвергаются частым модернизациям в плане кода, практически не используется. И установленный стойкий, серьезный пароль, благополучно забывается и когда требуется его вспомнить становиться невыносимо тяжко это сделать.

Конечно же никто не мешает записать этот пароль. Но что делать если MySQL-сервер с паролем есть, самого пароля нет?


Изменить пароль на сервер базы данных MySQL можно только непосредственно имея доступ к консоли самого сервера. В любом другом случае процесс восстановления является проблематичным.

В консоли сервера нужно выполнить 2 команды, который позволят изменить пароль и получить доступ к MySQL. Обычно суперпользователя root не используют для нужд сайта и изменение его пароля не приведет к каким-либо серьезным неполадкам, но автору приходилось работать с некоторыми сайтами, где CMS работала с базой данных посредством учетной записи root, что просто ужасно.

Для того, чтобы сменить пароль все команды, приведенные ниже выполняются от имени пользователя операционной системы root.

  1. Для начала тормозим MySQL-сервер. Для FreeBSD эта команда вот:
    /usr/local/etc/rc.d/mysql-server stop
  2. После запускаем его в режиме проверки привилегий, который позволяет изменять пароль без ввода старого. Запустить в этом режиме можно командой:
    mysqld_safe --skip-grant-tables &
  3. Далее не дожидаясь окончания выполнения, исполняем команду:
    mysql -u root

    В моем случае я запустил эту команду после строки:
    120503 18:59:47 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
  4. Далее выбираем таблицу mysql, где хранятся все пароли и имена пользователей:
    USE mysql;
  5. Далее меняем сам пароль командой:
    UPDATE user SET password=PASSWORD("superpassword") WHERE User='root';

    где superpassword – это и есть ваш новый пароль. Его, кстати, можно заменить на любой другой.
  6. Сохраняем все изменения:
    FLUSH PRIVILEGES;
  7. и выходим из консоли MySQL:
    quit
  8. После этого стоит только перезагрузить MySQL:
    /usr/local/etc/rc.d/mysql-server restart

    и можно заходить под новым паролем.

После этих простых манипуляций пароль пользователя root для доступа к MySQL-серверу будет вам известен и его уж после этого можно и записать.

Теги:

Комментарии




В качестве аватарки используется сервис - gravatar.com



IT-событие
Основание Adobe
Основание Adobe
Оглавление
  1. Комментарии