2015-03-03 2 views
1

Как я могу указать путь восстановления для Mongo (v2.2.0) из оболочки mongo?Как указать путь восстановления из оболочки mongo?

Например, я мог нормально выполнить команду:

mongod --repair --repairpath /opt/vol2/data 

Как я мог бы указать путь для ремонта, если я использую следующий синтаксис из оболочки:

db.repairDatabase() 

ответ

0

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

Вы можете определить, какие базы данных для использования с помощью команды use [dbname] внутри Монго оболочки:

Взятые из the docs: текущая база данных

use <db>
переключения на <db>. Переменная оболочки mongo db установлена ​​в текущую базу данных.

В качестве альтернативы вы можете указать, какую базу данных использовать при starting the actual shell. Например, если вы хотите подключиться к оболочке на базе my_db, который работает на порту 27016, вы бы запустить Монго оболочки с помощью следующей команды:

$ mongo my_db

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

+0

Проблема в том, что в моем текущем хранилище недостаточно хранилища для выполнения repairDatabase. Мне нужно указать мое хранилище внешних блоков, чтобы операция действительно могла завершиться. – user2694306

+1

В этой ситуации вы не можете запустить восстановление из оболочки. Вам нужно будет запустить его из командной строки, чтобы изменить путь ремонта. См. [RepairDatabase] (http://docs.mongodb.org/manual/reference/command/repairDatabase/#dbcmd.repairDatabase). – wdberkeley

 Смежные вопросы

  • Нет связанных вопросов^_^