Сброс пароля пользователя root в MySQL

Сброс пароля пользователя root в MySQL

Сбросить пароль для пользователя root в MySQL не просто, а очень просто. Для этого надо остановить базу:

$ sudo service mysql stop Теперь запустим базу без проверки привилегий:

$ sudo mysqld_safe --skip-grant-tables & Теперь можно зайти в базу и поправить пароль:

$ mysql -u root После этого будет доступна консоль MySQL. Выполняем обновление пароля:

mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('password'); Иногда установка нового пароля заканчивается ошибкой:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement Это ошибка в MySQL и тогда пароль можно установить другой командой:

mysql> UPDATE mysql.user SET authentication_string=password('password') WHERE user='root'; Дальше сбрасываем привилегии и перезапускаем сервер в нормальном режиме:

mysql> FLUSH PRIVILEGES; mysql> exit; $ sudo mysqladmin -u root -p shutdown $ sudo service mysql start Теперь можно логиниться в базу обычным образом: $ mysql -u root -p