Смена пароля root в MySQL
Пошаговое руководство по изменению и сбросу пароля root-пользователя MySQL.
Работа с базами данных MySQL часто требуется при администрировании сайтов и приложений на VPS или выделенных серверах. Важно уметь изменить пароль root-пользователя или восстановить доступ, если он утерян.
Изменение пароля root MySQL (если пароль известен)
- Подключитесь к серверу по SSH.
- Войдите в MySQL от имени root:
mysql -u root -p
Введите текущий пароль и нажмите Enter.
- Выполните команду для смены пароля (замените
newpassна новый пароль):
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;
quit
Пароль успешно изменён.
Сброс пароля root MySQL (если пароль утерян)
Если пароль неизвестен, запустите MySQL в безопасном режиме без проверки аутентификации.
Ubuntu / Debian
- Остановите сервис MySQL:
sudo systemctl stop mysql
- Создайте каталог для PID-файла (если его нет):
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
- Запустите MySQL в безопасном режиме:
sudo mysqld_safe --skip-grant-tables --skip-networking &
- Подключитесь без пароля:
mysql -u root
- Сбросьте пароль (замените
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
- Остановите безопасный режим и перезапустите MySQL:
sudo pkill mysqld
sudo systemctl start mysql
- Проверьте вход с новым паролем:
mysql -u root -p
CentOS 7 / RHEL 7
- Остановите сервис MySQL:
sudo systemctl stop mysql
- Запустите MySQL в безопасном режиме:
sudo mysqld_safe --skip-grant-tables &
- Подключитесь без пароля:
mysql -u root
- Сбросьте пароль (замените
new_root_passwordна новый пароль):
USE mysql;
UPDATE user SET password=PASSWORD('new_root_password') WHERE User='root';
FLUSH PRIVILEGES;
quit
- Перезапустите MySQL:
sudo systemctl stop mysqld
sudo systemctl start mysqld
- Проверьте вход:
mysql -u root -p
Полезные замечания
- После сброса пароля рекомендуется сразу сменить его в панели управления или в приложении на более надёжный.
- Если вы используете MySQL 8.0+ — вместо
PASSWORD()применяйтеALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';. - Всегда делайте бэкап базы перед изменениями.
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!