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

Пошаговое руководство по изменению и сбросу пароля root-пользователя MySQL.

Работа с базами данных MySQL часто требуется при администрировании сайтов и приложений на VPS или выделенных серверах. Важно уметь изменить пароль root-пользователя или восстановить доступ, если он утерян.

Изменение пароля root MySQL (если пароль известен)

  1. Подключитесь к серверу по SSH.
  2. Войдите в MySQL от имени root:
mysql -u root -p

Введите текущий пароль и нажмите Enter.

  1. Выполните команду для смены пароля (замените newpass на новый пароль):
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;
quit

Пароль успешно изменён.

Сброс пароля root MySQL (если пароль утерян)

Если пароль неизвестен, запустите MySQL в безопасном режиме без проверки аутентификации.

Ubuntu / Debian

  1. Остановите сервис MySQL:
sudo systemctl stop mysql
  1. Создайте каталог для PID-файла (если его нет):
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
  1. Запустите MySQL в безопасном режиме:
sudo mysqld_safe --skip-grant-tables --skip-networking &
  1. Подключитесь без пароля:
mysql -u root
  1. Сбросьте пароль (замените new_root_password на новый пароль):
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET authentication_string=PASSWORD('new_root_password') WHERE User='root';
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
quit
  1. Остановите безопасный режим и перезапустите MySQL:
sudo pkill mysqld
sudo systemctl start mysql
  1. Проверьте вход с новым паролем:
mysql -u root -p

CentOS 7 / RHEL 7

  1. Остановите сервис MySQL:
sudo systemctl stop mysql
  1. Запустите MySQL в безопасном режиме:
sudo mysqld_safe --skip-grant-tables &
  1. Подключитесь без пароля:
mysql -u root
  1. Сбросьте пароль (замените new_root_password на новый пароль):
USE mysql;
UPDATE user SET password=PASSWORD('new_root_password') WHERE User='root';
FLUSH PRIVILEGES;
quit
  1. Перезапустите MySQL:
sudo systemctl stop mysqld
sudo systemctl start mysqld
  1. Проверьте вход:
mysql -u root -p

Полезные замечания

  • После сброса пароля рекомендуется сразу сменить его в панели управления или в приложении на более надёжный.
  • Если вы используете MySQL 8.0+ — вместо PASSWORD() применяйте ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';.
  • Всегда делайте бэкап базы перед изменениями.

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам