code

MongoDB가 작동하지 않습니다.

codestyles 2020. 11. 19. 08:14
반응형

MongoDB가 작동하지 않습니다. "오류 : dbpath (/ data / db)가 없습니다."


터미널에서 "mongod"를 실행하려고하면 다음과 같은 오류가 발생합니다. 컴퓨터를 제거, 재설치 및 다시 시작해 보았습니다. 작동하는 방법에 대한 모든 제안은 놀랍습니다.

오류:

dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo

참고 : Node는이 오류가 발생했을 때 내 컴퓨터에서 작동을 멈췄습니다.

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: failed to connect to [localhost:27017]

어떤 도움이라도 대단히 감사하겠습니다!


이것은 Mongo가 찾을 수 있도록 올바른 위치에 디렉토리가 설정되어 있는지 확인하는 데 효과적입니다.

sudo mkdir -p /data/db/

sudo chown `id -u` /data/db


루트 / data / db에 디렉토리를 생성하거나 다음 명령을 사용하여 다른 경로를 설정해야합니다.

mongod --dbpath /srv/mongodb/

예제 링크보기


나는 문제를 해결했다.

sudo mongod --dbpath=/var/lib/mongodb 그런 다음 mongo를 사용하여 mongodb Shell에 액세스합니다.


새 데이터 디렉토리의 사용자를 변경하십시오.

chown mongodb [rute_directory]

그리고 mongo 서비스를 시작하기 위해 다른 시간을 시도하십시오.

서비스 mongod 시작

나는 이것으로 같은 문제를 해결합니다.


데몬 (일반적으로 d로 끝나는)은 일반적으로 서비스로 시작됩니다. 서비스 (데몬)를 시작하면 mongodb가 설계된대로 작동 할 수 있습니다 (배포판과 잘 통합되는 경우 권한 변경없이). mongod를 직접 시작하는 대신 mongodb라는 서비스를 사용하여 시작합니다. distro에서 시작시 systemd enable을 사용하여 다음과 같이 실행합니다.

sudo systemctl enable mongodb    
sudo systemctl start mongodb

또는 upstart를 사용하는 distro (/ etc / init가있는 경우) 또는 init (/etc/init.d가있는 경우) ( https://www.tecmint.com/systemd-replaces-init-in-linux/ ) 대신 다음을 실행하십시오.

sudo service mongodb enable
sudo service mongodb start

Gentoo (/etc/init.d의 설정) ( https://forums.gentoo.org/viewtopic-t-854138-start-0.html ) 와 같은 rc ( "실행 명령") 배포판이있는 경우 다음을 실행하십시오. :

rc-update add mongodb default 
/etc/init.d/mongodb start 

아직 rc를 가지고있는 FreeBSD의 배포판 / 버전에서 (당신의 버전이 systemd로 바뀌 었는지 확인하십시오. 그렇지 않으면 아래를보십시오) :

  • /etc/rc.conf에 다음 행을 추가하십시오.

    mongod_enable = "예"

  • 그때:

    sudo service mongod start

서비스를 시작한 후 권한이없는 사용자는 mongo를 사용할 수 있으며 각 사용자는 별도의 데이터를 갖게됩니다.

참고 URL : https://stackoverflow.com/questions/24599119/mongodb-not-working-error-dbpath-data-db-does-not-exist

반응형