В данной статье рассмотрим, как сбросить root пароль MySQL на VPS. Смотрите рейтинг VPS в России, на нашем сайте.
1) Для начала, нам необходимо узнать версию Mysql, установленную на ОС. Для этого введем следующую команду:
mysql --version
У Вас должен появиться похожий вывод в консоли. Красным отмечена версия, которая установлена на сервере. В нашем случае это Mysql 5.6.4.
2) Далее необходимо остановить службу mysql. Для этого введем команду:
systemctl stop mysqld
3) После того, как mysql сервер успешно остановился. Добавим следующую строчку в конфигурационный файл mysql.
skip-grant-tables
Данный параметр пропускает проверку прав при запуске mysql. Ее необходимо добавить в секцию [mysqld]. Как показано на скриншоте.
4) Конфигурационный файл my.cnf может находиться в разных каталогах. Обычно, данный файл находится в следующих директориях. Они считаются дефолтными для службы mysql.
/etc/my.cnf
/etc/mysql/my.cnf
~/.my.cnf
5) После добавления параметра, запустим службу mysql следующей командой:
systemctl start mysqld
6) Также проверим, что служба успешно запустилась и не было ошибок при запуске:
systemctl status mysqld
Если статус службы такой же, как и на скриншоте, значит mysql успешно запустилась и работает.
7) Теперь мы можем войти в mysql без использования пароля:
mysql -u root
Последовательно введем в оболочке mysql следующие команды:
- Для MySQL 5.7.6 и новее:
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('ВАШ_НОВЫЙ_ПАРОЛЬ') WHERE User = 'root';
FLUSH PRIVILEGES;
- Для MySQL 5.7.5 и ранее:
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('ВАШ_НОВЫЙ_ПАРОЛЬ');
FLUSH PRIVILEGES;
Вместо «ВАШ_НОВЫЙ_ПАРОЛЬ» введите собственный пароль. Также советуем Вам не забывать о безопасности и не ставить легкие пароли.
Примерный вывод команд должен быть следующим образом:
1) Для выхода из оболочки mysql введем команду:
quit;
2) Теперь остановим службу mysql и удалим параметр skip-grant-tables из конфигурационного файла mysql:
systemctl stop mysqld
3) После остановки и удаления параметра skip-grant-tables, можно снова запустить службу:
systemctl start mysqld
4) Теперь проверим новый пароль, выполнив вход в консоль mysql под пользователем root:
mysql -u root -p
Комментарии ()