очень новый для 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, поэтому у меня не будет этой проблемы?
Еще раз спасибо!