Чтобы выполнить сброс пароля MySQL, подключитесь к вашему серверу по SSH и следуйте инструкции:
- Откройте файл параметров MySQL командой:
sudo nano /etc/mysql/my.cnf
- Добавьте в конец файла три параметра:
[mysqld] skip-grant-tables skip-networking
Если директива [mysqld] уже прописана в файле, добавьте только skip-grant-tables и skip-networking:- skip-grant-tables — параметр, который пропускает проверку прав. Это позволит подключиться к MySQL без пароля любому пользователю.
- skip-networking — параметр, который запретит удалённые подключения к серверу БД на время сброса пароля.
-
Чтобы сохранить изменения, нажмите CTRL+S. Затем закройте редактор сочетанием клавиш CTRL+X.
- Чтобы запустить MySQL с нужными параметрами, перезапустите сервер БД командой:
sudo systemctl restart mysql.service
или
sudo service mysql restart
если mariadb, поставить mariadb вместо mysql, если не проходит.
- Подключитесь к серверу баз данных при помощи команды:
mysql
-
Перезагрузите привилегии:
FLUSH PRIVILEGES;
-
Поменяйте пароль при помощи команды:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
Вместо password введите свой новый пароль.
Если при выполнении команды возникнет ошибка неправильного синтаксиса, попробуйте другую команду:
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», выполните команду из 6 шага.
-
Откройте конфигурационный файл:
nano /etc/mysql/my.cnf
-
Удалите из файла текст, который добавили во втором шаге:
[mysqld] skip-grant-tables skip-networking
Если на 2 шаге вы добавили только параметры skip-grant-tables и skip-networking, удалите только их.
Обратите вниманиеОбязательно удалите опцию skip-grant-tables из конфигурационного файла после смены пароля. Если не удалить параметр, после перезапуска сервера баз данных подключаться к MySQL можно будет без пароля от имени любого пользователя. -
Чтобы сохранить изменения, нажмите CTRL+S. Затем закройте редактор сочетанием клавиш CTRL+X.
-
Подключитесь к серверу баз данных:
mysql -uroot -p'password'
Вместо password напишите ваш новый пароль.
Готово, вы сбросили пароль от root-пользователя MySQL.