Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Ой, засада! Похоже, я накосячил и повредил мою базу данных MongoDB... Можно ли сбросить пароль администратора?, UniFi Network
 
Пытался перенести один сайт с Cloud Key, который мы перенимали, на самохост UniFi контроллер (9.1.120). Наверное, был какой-то сонный, потому что экспортировал бэкап с Cloud Key, а потом попытался импортировать его в наш UniFi контроллер, просто проигнорировав предупреждение, которое появилось… Следующее, что я заметил, страница "вылетела", как вся база данных контроллера была стерта и заменена настройками с Cloud Key (да, я осознал свой масштабный косяк ПОСЛЕ нажатия кнопки). Все сайты пропали, все известные админы пропали.

Пытался залезть в mongodb, чтобы изменить пароль администратора (так как его у меня не было), но похоже, структуру базы данных изменили в v9, и старые CLI-команды не работают.

В итоге просто скачал автобэкап .unf файл, удалил все из директории /data и позволил контроллеру создать новую стандартную базу данных. Как только я вошел в систему под свежим администратором, восстановил правильный бэкап и все заработало (это был очень напряженный час!).

TL;DR — были ли какие-то другие способы восстановиться после этого? Есть ли способ сбросить пароль администратора через SSH/CLI в версии 9.x?
 
@gcsprojects Спасибо, да, я пробовал эти команды, но они у меня не работали. Возможно, потому что это UNA был на Docker-е. Контейнер как-то застрял в crash-loop, а на самом хосте mongodb не был установлен (и вообще не поддерживал установку - работал на Synology). Я попробовал остановить контейнер Unifi, запустить ОТДЕЛЬНЫЙ Docker-контейнер mongo, с bind mount к тому же пути базы данных, и поработать с БД оттуда. Выбрал mongo 3.6, потому что предположил, что это безопасная версия для работы с этой БД, но возможно, БД была новее - использовался образ goofball222. (редактирую: на самом деле я только что проверил с помощью mongod --version, и действительно, там была/есть версия 3.6, так что это не было проблемой) Я поищу этот флаг system.properties и сохраню его на всякий случай (надеюсь, он никогда не понадобится) – отличный совет.
 
На форуме есть задокументированные команды для MongoDB, которые обычно можно использовать. Но я не уверен, что это вообще имеет смысл. Устройства в этом сценарии не сломаются, так что вы можете легко очистить базу данных и восстановить резервную копию. Не нужно даже удалять папку данных, в файле system.properties есть флаг, который можно установить в значение true, и тогда база данных будет сброшена по умолчанию.
 
Зацени API.
Страницы: 1
Читают тему (гостей: 1)