ℹ️ Если вы потеряли доступ к базе данных MySQL/MariaDB, но у вас есть доступ к файловой системе сервера, можно быстро сбросить root-пароль, используя временный контейнер Docker. Этот подход удобен, если вы не хотите вручную редактировать конфигурации или перезапускать службу базы данных.
🐳 1. Создайте временный Docker-контейнер с вашей версией MySQL/MariaDB
Укажите путь к директории, где находится база данных:
docker run --rm -v /path/to/mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3307:3306 mysql:5.7ℹ️ Замените
/path/to/mysqlна реальный путь к вашим данным, аmysql:5.7на версию вашего сервера.📂 2. Подключитесь к контейнеру через клиент MySQL:
mysql -h 127.0.0.1 -P 3307 -u root👨💻 3. Сбросьте root-пароль:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';FLUSH PRIVILEGES;❌ 4. Остановите контейнер
Просто завершите работу Docker-контейнера с помощью
Ctrl+C. Все изменения сохранятся, поскольку данные хранятся на хосте.🔥 5. Проверьте доступ к базе
Теперь вы можете подключиться к базе на хосте с новым паролем:
mysql -u root -p
✳️ Дополнительные возможности
Можно временно запустить базу в безопасном режиме (--skip-grant-tables) через контейнер для более сложных операций восстановления:
docker run --rm -v /path/to/mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.7 --skip-grant-tablestags: #полезно #docker #mysql
🧭 @recura_tech


