yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Как сменить пароль root в MySQL

Для администратора потеря root-пароля в MySQL становится серьезной проблемой. Без доступа к учетке не получится контролировать базы данных, пользователей и параметры сервера. Это может привести к остановке работы и рискам для компании. Если вы потеряли пароль, его надо сбросить, а не пытаться восстановить. Расскажем, как это сделать.

Инструкции
Иллюстрация для статьи на тему «Как сменить пароль root в MySQL»
Продукты из этой статьи:
Иконка-Advanced Relational Database Service for MySQL
Advanced Relational Database Service for MySQL

Подготовьтесь к сбросу пароля root в MySQL

Прежде чем сбрасывать пароль, убедитесь, что у вас есть права администратора в той операционной системе, где работает MySQL. Они нужны, чтобы останавливать и запускать службу в специальном режиме.

Если у вас Windows, все действия выполняйте из командной строки или PowerShell с правами администратора. В Linux и macOS используйте команды sudo.

Остановка службы MySQL — первый шаг к сбросу пароля

Чтобы не повредить данные, перед сбросом пароля остановите MySQL. Команды для разных систем:

  • Windows — net stop [имя_службы] (например, MySQL80 или MySQL)

  • Linux — systemctl stop mysqld (или mysql на Debian/Ubuntu)

  • macOS (Homebrew) — brew services stop mysql

  • macOS (официальный установщик) — sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

У службы может быть другое название. Если команды не работают, посмотрите свой список и уточните имя, чтобы не ошибиться.

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Чтобы найти имя службы:

  • Windows: services.msc → найдите MySQL

  • Linux: systemctl list-units --type=service | grep -i mysql

Резервное копирование данных перед манипуляциями

Прежде чем менять пароль, сделайте резервную копию баз данных. Манипуляции со сбросом безопасны, но любые изменения в службе могут привести к проблемам. Чтобы подстраховаться, позаботьтесь об актуальных бэкапах. Это поможет быстро восстановить информацию, если что-то пойдет не так.

Универсальный метод: запуск в аварийном режиме

Аварийный режим MySQL позволит запустить сервер без проверки привилегий. Используйте флаг --skip-grant-tables, который отключает проверку учетных записей. В MySQL 8.0+ --skip-networking включается автоматически при --skip-grant-tables для безопасности. Для явного контроля добавьте --skip-networking

Алгоритм для Windows и Linux/Unix-систем

Остановите службу MySQL и запустите сервер без пароля в фоновом режиме с флагами --skip-grant-tables и --skip-networking. Затем в safe mode (после подключения mysql -u root) последовательно используйте:

  1. FLUSH PRIVILEGES;

  2. ALTER USER 'root'@'localhost' IDENTIFIED BY 'новый_пароль';

  3. FLUSH PRIVILEGES;

Что делать, если FLUSH PRIVILEGES не помогает

Бывает, что после обновления пароля и выполнения FLUSH PRIVILEGES доступ не восстанавливается. Возможно, вы ошиблись с порядком команд. Убедитесь, что правильно их применили и перезапустили сервер в обычном режиме. Проверьте, нет ли конфликтующих параметров в конфигурации MySQL. 

Альтернативный метод: использование init-файла

Метод с init-файлом пригодится в средах с высокими требованиями к безопасности, где нежелательно запускать сервер в аварийном режиме. Создайте SQL-файл, который содержит команду для автоматической смены пароля администратора в случае утери. Чтобы применить способ, укажите путь к файлу с помощью параметра --init-file. После смены пароля удалите init-файл или защитите его, задав ограничения доступа. 

Особые случаи при смене пароля

Разберем частные случаи, которые еще не охватили в статье.

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

В MySQL версии 8.0 и выше смена пароля осложняется из-за новой системы аутентификации, которая основана на плагине caching_sha2_password. Не обновляйте таблицу mysql.user через UPDATE, если не хотите проблем с входом в учетную запись. Используйте команду ALTER USER

Сброс пароля для MySQL в Docker-контейнере

Войдите в контейнер и запустите MySQL в безопасном режиме --skip-grant-tables. Затем через команду ALTER USER задайте новый пароль и перезапустите сервер MySQL уже в обычном режиме.

Восстановление доступа к managed-сервису 

Восстановление доступа к MySQL в managed-сервисах происходит через веб-консоль провайдера:

Базы данных с MySQL
Базы данных с MySQL
Создайте реляционную базу данных за секунды
Попробовать

Профилактика: как в будущем избежать проблем с паролями

Что делать после сброса пароля:

  • Проверьте, что все работает. Войдите в учетную запись root с новым паролем и убедитесь, что базы данных доступны и корректно выполняют запросы. Дальше проверьте все приложения, которые используют MySQL. Если они не работают, обновите параметры подключения в конфигурационных файлах и перезапустите сервисы.

  • Используйте сложные небанальные пароли. Не повторяйте старые, откажитесь от дат рождения, имен и популярных фраз. Сочетайте буквы в разном регистре, специальные символы и цифры. Оптимальная длина пароля — от 12 символов.

  • Надежно храните пароли. Не надейтесь на свою память, но и не записывайте учетные данные в текстовых файлах и заметках. Используйте менеджер паролей для безопасного хранения, настройте расписание для ротации паролей. 

  • Установите, почему был утерян пароль root. Может, вы хранили его в небезопасном месте, передали кому-то другому или забыли. Такие ситуации — сигнал, что процессы управления доступом нужно пересмотреть. 

Лучше не использовать root для администрирования на постоянной основе. Чтобы снизить риски утери пароля и повторного сброса, создайте дополнительные учетки с нужными правами для повседневных задач администратора. 

Заключение

Если потеряли пароль root в MySQL, выбирайте метод сброса в зависимости от ситуации. Вот шпаргалка: 

Ситуация
Метод
Локальный сервер MySQL (Windows, Linux и macOS)
Запуск в аварийном режиме (--skip-grant-tables)
Строгие и автоматизированные среды
Альтернативный метод — использование init-файла (--init-file)
Версии MySQL 8.0 и новее
ALTER USER вместо UPDATE mysql.user
Docker-контейнер
Вход в контейнер и запуск MySQL в безопасном режиме (--skip-grant-tables)
Управляемый сервис
Сброс через веб-консоль провайдера
Продукты из этой статьи:
Иконка-Advanced Relational Database Service for MySQL
Advanced Relational Database Service for MySQL
22 января 2026

Вам может понравиться