Смена root-пароля MySQL в Ubuntu
Когда-то я активно занимался изучением операционной системы Ubuntu, лелея надежды на отказ от Windows, но мечтам сбыться, было не суждено, а материал остался, и выкидывать его как-то жалко. Решил опубликовать на блоге, пусть будет. Может кому-то тоже понадобится сменить root-пароля MySQL в Ubuntu и вот ему готовая пошаговая инструкция.
Останавливаем MySQL-сервер (опция
stop):sudo /etc/init.d/mysql stop
Запускаем
mysqld_safeс опцией--skip-grant-tables:sudo /etc/init.d/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
Запускаем демона MySQL:
sudo /etc/init.d/mysql start
- Пробуем зайти под
rootс новым паролем. Для этого соединяемся с MySQL (как в пункте 3), но уже с дополнительным параметром-p:mysql -u root -p
После этого вас попросят ввести пароль (Enter password:)
На этом у меня всё. Спасибо за внимание. Удачи!