IT-Service - Смена root-пароля MySQL в Ubuntu
Пятница, 28 Сентябрь 2012 09:11

Смена root-пароля MySQL в Ubuntu

Автор 
Оцените материал
(0 голосов)
  1. Останавливаем mysql сервер (опция stop):
    sudo /etc/init.d/mysql stop
  2. Запускаем mysqld_safe с опцией --skip-grant-tables:
    sudo mysqld_safe --skip-grant-tables &
mysqld_safe - это сценарий запуска MySQL в "безопасном режиме", или что-то в этом роде. Опция --skip-grant-tables (обратите внимание, перед опцией, стоит два знака минус), как можно догадаться из названия, запускает MySQL сервер без учёта таблицы привилегий, что позволяет обратиться к БД любому пользователю, без пароля и со всеми привилегиями. Знак амперсанда (&) в конце говорит о том, что процесс запускается в фоновом режиме.
  • Соединяемся с mysql сервером как root:
    mysql -u root
    Как вы видите, здесь не надо использовать sudo и/или полный путь.
  • Войдя в терминал работы с MySQL - строка начинается с mysql>- можно приступить к замене пароля для пользователя root:
    • Выбираем БД с именем mysql, к которой будут происходить запросы:
      use mysql
    • Обновляем значение поля password, где поле user имеет значение root, а поле host значение localhost:
      update user set password=PASSWORD('new_password') where user='root' and host='localhost';
      Обратите внимание, что для защиты пароля используется SQL-функция PASSWORD(), а сама БД mysql (как я понимаю) является системной.
    • Дальше нам нужно обновить кэш с привелегиями, для чего мы будем использовать команду FLUSH с соответствующей опцией:
      flush privileges;
    • Выходим из консоли mysql:
      \q
  • Останавливаем все процессы с именем mysqld_safe:
    killall mysqld_safe
  • Запускаем сервер:
    sudo /etc/init.d/mysql start
  • Пробуем зайти под root с новым паролем. Для этого соединяемся с MySQL (как в пункте 3), но уже с дополнительным параметром -p:
    mysql -u root -p
    После этого вас попросят ввести пароль (Enter password:)
  • Прочитано 5364 раз Последнее изменение Вторник, 02 Октябрь 2012 11:10
    Другие материалы в этой категории: « Команда find в UNIX Ubuntu + устройства с Android »
    Авторизуйтесь, чтобы получить возможность оставлять комментарии