Подтвердить что ты не робот

Как установить mongod --dbpath

очень новый для mongodb и баз данных в целом. когда я запускаю mongo, я получаю это сообщение об ошибке:

MongoDB shell version: 2.4.9
connecting to: test
Thu Jan 30 13:03:33.170 Error: couldn't connect to server 127.0.0.1:27017 
at src/mongo/shell/mongo.js:145
exception: connect failed

running mongod Я вижу следующее:

Thu Jan 30 13:13:36.588 [initandlisten] MongoDB starting : pid=29408 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=Kimis-MacBook-Air-2.local
Thu Jan 30 13:13:36.588 [initandlisten] 
Thu Jan 30 13:13:36.588 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Thu Jan 30 13:13:36.588 [initandlisten] db version v2.4.9
Thu Jan 30 13:13:36.588 [initandlisten] git version: nogitversion
Thu Jan 30 13:13:36.588 [initandlisten] build info: Darwin minilionvm.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
Thu Jan 30 13:13:36.588 [initandlisten] allocator: tcmalloc
Thu Jan 30 13:13:36.588 [initandlisten] options: { bind_ip: "127.0.0.1", config: "/usr/local/etc/mongod.conf", dbpath: "/usr/local/var/mongodb" }
Thu Jan 30 13:13:36.591 [initandlisten] journal dir=/usr/local/var/mongodb/journal
Thu Jan 30 13:13:36.591 [initandlisten] recover begin
Thu Jan 30 13:13:36.591 [initandlisten] recover lsn: 108155770
Thu Jan 30 13:13:36.591 [initandlisten] recover /usr/local/var/mongodb/journal/j._0
Thu Jan 30 13:13:36.591 [initandlisten] journal file version number mismatch got:4147 expected:4149. if you have just upgraded, recover with old version of mongod, terminate cleanly, then upgrade.
Thu Jan 30 13:13:36.592 [initandlisten] dbexception during recovery: 13536 journal version number mismatch 16711
Thu Jan 30 13:13:36.592 [initandlisten] exception in initAndListen: 13536 journal version number mismatch 16711, terminating
Thu Jan 30 13:13:36.592 dbexit: 
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: going to close listening sockets...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: going to flush diaglog...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: going to close sockets...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: waiting for fs preallocator...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: lock for final commit...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: final commit...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: closing all files...
Thu Jan 30 13:13:36.592 [initandlisten] closeAllFiles() finished
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: removing fs lock...
Thu Jan 30 13:13:36.592 dbexit: really exiting now

когда я вручную устанавливаю свой mongo dpath на mongod --dbpath /data/db (как и должно быть по умолчанию при установке) и поддерживайте его в терминале, все работает нормально. но как только я закрываю его, все снова ломается. мой вопрос:

  • Почему мой dbpath установлен на /usr/local/var/mongodb?
  • Как я могу исправить эту ошибку, поэтому mongo работает на моей машине?

Я предполагаю, что мне нужно либо постоянно установить dbpath на /data/db, либо перенастроить что-то, чтобы он работал с dbpath как /usr/local/var/mongodb

i довольно новичок в командах unix, поэтому не совсем уверен, как исправить эту ошибку.

Благодарим вас за любые предложения!

поэтому, копаясь в документации mongodb, я читаю это:

"Если не указано, mongod будет искать файлы данных в каталоге по умолчанию /data/db (в системах Windows используется каталог \data\db.) Если вы установили систему управления пакетами, проверьте файл /etc/mongodb.conf, предоставленный ваши пакеты, чтобы увидеть конфигурацию dbpath."

когда я посмотрел файлы в /etc/, нет файла mongodb.conf... однако я вижу /usr/local/etc/mongod.conf... поэтому, если я правильно понимаю это, я должен создать файл с именем /etc/mongodb.conf и установите для dbpath значение /data/db.

Мне нужно также удалить материал внутри /usr/local/?

Я думаю, что это связано с тем, как мой PATH настроен... может кто-нибудь объяснить мне, как исправить это в unix, поэтому у меня не будет этой проблемы?

Еще раз спасибо!

4b9b3361

Ответ 1

Сначала у вас будет файл конфигурации в /etc/mongodb.conf, поэтому это звучит как домашняя установка, в которой будут использоваться более стандартизированные пути. Все /data/db/ вещь упоминается в руководстве много установки документации.

Таким образом, в основном из вашего журнала сервер не работает, он выключается, поэтому оболочке нечего подключать. Похоже, у вас были какие-то нечистые выключения/перезапуски, которые привели к несогласованности.

Очистите файлы в журнале /usr/local/var/mongodb/journal/ в вашей конфигурации.

Также:

sudo rm /var/lib/mongodb/mongod.lock

На всякий случай, хотя эта часть выглядит чистой. А затем перезагрузите.

Ответ 2

Попробовал это только на Mac:

  • Создайте каталог данных в корневой папке вашего приложения.
  • cd в ваш каталог, где вы разместили свой каталог mongo, когда вы его установили.
  • выполните следующую команду:

    mongod --dbpath ~/path/to/your/app/data​​p >

Вы должны быть добрыми!

Ответ 3

Вы можете установить dbPath в файле mongodb.conf:

storage:
    dbPath: "/path/to/your/database/data/db"

Это формат файла конфигурации на основе YAML (начиная с версии Mongodb 2.6), поэтому обратите внимание на отсутствие вкладок только пробелов и пробела после ":"

обычно этот файл находится в системах * nix здесь:/etc/mongodb.conf

Итак, просто запустите

$ mongod -f /etc/mongodb.conf

И начнется процесс mongod...

(на Windows что-то вроде)

> C:\MongoDB\bin\mongod.exe -f C:\MongoDB\mongod.conf

Ответ 4

Для меня это должно иметь:

mongod --dbpath=/whatever/data/path

Ответ 5

mongod  --port portnumber --dbpath /path_to_your_folder

По умолчанию номер порта равен 27017, а путь -/var/lib/mongodb

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

Ответ 6

Вы также можете настроить mongod для запуска при запуске, чтобы он автоматически запускался при запуске, а dbpath - при настройке. Для этого попробуйте:

mongod --smallfiles --config/etc/mongod.conf

Тег --smallfiles существует, если вы получите ошибку с размером. Это, конечно, необязательно. Это должно решить вашу проблему, а также автоматизировать настройку mongodb.

Ответ 7

очень просто:

sudo chown mongodb:mongodb /var/lib/mongodb/mongod.lock 

Ответ 8

sudo mongod --dbpath ~/data

Это заставило меня работать.

Ответ 9

Сценарий: MongoDB (версия v4.0.9).

  1. Установите пользовательскую папку (с именем: myCustomDatabases), где хранятся базы данных.
  2. В пользовательской папке (с именем: myCustomDatabases) необходимо создать базу данных (с именем: newDb).

Разрешить:

  1. Создать пользовательскую папку (с именем: myCustomDatabases):

    D:>md myCustomDatabases
    
  2. Запустите 'mongod --dbpath', указав путь к пользовательской папке (с именем: myCustomDatabases):

    mongod --dbpath "D:\myCustomDatabases"
    
  3. Из другого "cmd" запустите "mongo":

    D:>mongo
    

    3.1. Показать все базы данных, хранящиеся в пользовательской папке (с именем: myCustomDatabases):

    >show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    

    3.2. Используйте базу данных с именем newDb:

    > use newDb
    switched to db newDb
    

    3.3. Показать все базы данных, хранящиеся в пользовательской папке (с именем: myCustomDatabases):

    >show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    

    !!! Заметил, что newDb НЕ в списке !!!

    3.4. Нужно создать коллекцию с документом, который создаст базу данных newDb.

    > db.Cats.insert({name: 'Leo'})
    WriteResult({ "nInserted" : 1 })
    

    Операция вставки ({name: 'Leo'}) создает: базу данных newDB и коллекцию Cats, поскольку они не существуют.

    3.5. Теперь новая созданная база данных newDb будет отображаться в списке.

    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    newDb   0.000GB
    

    3,6. Теперь в пользовательской папке D:\myCustomDatabases есть база данных newDb.

Ответ 10

Создать каталог БД в доме, внутри БД другой каталог данных

cd 
mkdir db
cd db
mkdir data

затем введите это command--

mongod --dbpath ~/db/data