Как удалить MongoDB и установить последнюю версию?

49

Мне нужно полностью удалить mongodb из моей системы (Ubuntu 11.10) и установить версию 2.0.5.

В настоящее время, когда я бегу:

mongo db

Я получаю следующую ошибку:

Версия оболочки MongoDB: 2.0.1
подключение к: db
Ср 6 июня 13:05:03 Ошибка: не удалось подключиться к серверу 127.0.0.1 shell / mongo.js: 84 исключение: ошибка подключения

Jyothi
источник
Попробуйте с помощью: downloads-distro.mongodb.org/repo/ubuntu-upstart/dists/dist/…
Жасмин

Ответы:

83

Существует два набора пакетов для MongoDB ; стандартные пакеты Ubuntu и набор, опубликованный самим 10gen. Стандартные пакеты устарели, особенно для более старых выпусков Ubuntu, поэтому, вероятно, стоит настроить себя на установку из репозиториев 10gen.

Цитируемое сообщение об ошибке предполагает, что вы, возможно, уже пробовали это сделать, поскольку версия 2.0.1 не является стандартным пакетом Ubuntu. Я полагаю, что прежде всего вы полностью удалите Mongo и очистите свою систему. Если у вас есть данные, которые вы хотите сохранить, вы можете сделать их резервную копию. По умолчанию он хранится в /var/lib/mongodb. Поэтому, если вы хотите сделать резервную копию, возьмите копию файлов оттуда и храните их в надежном месте.

Деинсталляция существующих пакетов MongoDB

Поскольку я не на 100% установлен, что вы установили, я предлагаю следующее, чтобы убедиться, что все удалено:

sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
sudo apt-get purge mongodb-10gen
sudo apt-get autoremove

Некоторые из этих команд могут не работать, в зависимости от того, какие пакеты вы на самом деле установили, но это нормально.

Это также должно удалить ваш конфиг из /etc/mongodb.conf. Если вы хотите полностью очистить, вы также можете удалить каталог данных /var/lib/mongodb, если вы создали его резервную копию или не хотите больше.

Если вы установили сборку из исходного кода или с использованием бинарных дистрибутивов 10gen, то вам нужно будет вручную удалить и очистить, где бы вы ни размещали бинарные файлы, файлы конфигурации и файлы данных.

Установка пакетов 10gen MongoDB

Следуйте инструкциям 10gen для добавления их хранилища:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Отредактируйте /etc/apt/sources.list, удалите все строки, которые вы уже добавили для Mongo, и добавьте следующую одиночную строку (поскольку 11.10 использует upstart) в конце:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Обратите внимание, что если вы добавите этот репозиторий с помощью Центра программного обеспечения, он автоматически добавит запись deb-src, что приведет к поломке apt-get. Поэтому вам нужно будет отредактировать список источников вручную, чтобы добавить только строку выше.

Затем для установки запустите:

sudo apt-get update 
sudo apt-get install mongodb-10gen

Проверка вашей установки

Установка пакетов должна автоматически запустить сервер MongoDB. Таким образом, вы сможете запустить клиент из командной строки:

mongo

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

Если это не помогло, пожалуйста, обновите ваш вопрос с более подробной информацией, в том числе выводом попытки подключения и прикрепления вашего /var/log/mongodb/mongodb.logфайла.

Дэвид Эдвардс
источник
maisapride1 @ maisapride1: / $ sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Пакет mongodb не установлен, поэтому пакет не удален mongodb- клиенты не установлены, поэтому не удален Пакет mongodb-dev не установлен, поэтому не удален Пакет mongodb-server не установлен, поэтому не удалено 0 обновлено, 0 вновь установлено, 0 удалено и 406 не обновлено. ----- при попытке удалить, когда я снова даю монго, он показывает версию: MongoDB shell version: 2.0.1
jyothi
Это хорошо; Как я уже сказал, некоторые из этих команд могут не работать в зависимости от того, какие пакеты вы установили. Эти конкретные ошибки показывают, что у вас не были установлены стандартные пакеты Ubuntu MongoDB.
Дэвид Эдвардс
Вы выполнили вторую команду, чтобы удалить пакеты 10gen? Если это тоже ничего не удаляет, и вы все равно можете запустить клиент mongo, значит, вы выполнили установку вручную, и вам придется удалить вручную.
Дэвид Эдвардс
Могу ли я узнать, как установить или обновить dong Монго до 2.0.5 с 2.0.1
Jyothi
Установка пакетов 10gen, как описано в моем ответе, даст вам 2.0.6. Предыдущие версии доступны для загрузки и ручной установки с веб-сайта MongoDB, но я настоятельно рекомендую вам придерживаться упакованных версий.
Дэвид Эдвардс
27

Чтобы полностью удалить MongoDB из системы, вы должны удалить сами приложения MongoDB, файлы конфигурации и любые каталоги, содержащие данные и журналы. Следующий раздел проведет вас через необходимые шаги.

  1. Стоп MongoDB

    Остановите процесс mongod, введя следующую команду:

    sudo service mongod stop
    
  2. Удалить пакеты

    Удалите все пакеты MongoDB, которые вы ранее установили.

    sudo apt-get purge mongodb-org*
    
  3. Удалить каталоги данных.

    Удалите базы данных MongoDB и файлы журналов.

    sudo rm -r /var/log/mongodb /var/lib/mongodb
    
Bhavesh
источник
4

Следуйте шагам:

  1. Удалить файл блокировки

    sudo rm /var/lib/mongodb/mongod.lock
    
  2. Ремонт mongodb

    mongod --repair
    
  3. Начать mongodb

    sudo service mongodb start
    
  4. Запустить консоль Монго

    mongo
    
user2123184
источник
@ Stumblebee: Пожалуйста, следите за предложениями по редактированию, как этот! Имя службы действительно mongodbкак в оригинальной версии, и вы можете проверить это через список файлов пакета .
Дэвид Фёрстер