programing

오류 해결 방법:dbpath(/data/db/)가 MongoDB에 영구적으로 존재하지 않습니다.

topblog 2023. 5. 28. 19:52
반응형

오류 해결 방법:dbpath(/data/db/)가 MongoDB에 영구적으로 존재하지 않습니다.

Ubuntu 10.04에 mongodb를 설치했습니다.

명령어 "mongod"로 mongodb 서버를 시작할 때 /data/db 폴더를 예상하고 "/data/db/"를 만들면 쉽게 해결할 수 있는 것으로 알고 있습니다.또 다른 방법은 mongod --dbpath "path"를 사용하여 자신의 경로를 제공하는 것인데, dbpath에 대한 사용자 지정 경로를 지정하려고 할 때입니다.

하지만 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 링크를 검색하는 동안 구성 파일이 있다는 것을 발견했습니다.

저는 그것을 다음과 같이 변경했습니다.

mongodb.conf

dbpath=/EBS/Work/mongodb/data/db/


logpath=/EBS/Work/mongodb/mongodb.log

logappend=true

그러나 여전히 "mongod"로 서버를 시작하려고 하면 동일한 오류가 발생합니다. 즉, dbpath(/data/db/)가 존재하지 않습니다.매번 "mongod --dbpath path"를 사용하여 경로를 입력하지 않으려고 하기 때문에 어떻게 내 dbpath를 내 사용자 지정 폴더로 영구적으로 리디렉션할 수 있는지 알고 싶었습니다.대신 구성 파일을 몇 가지 변경하려고 합니다.

패키지 버전의 MongoDB를 설치하기 위한 지침을 수행했다고 가정하면 시작 및 중지해야 합니다.mongod용사를 service.

mongod:

 sudo service mongodb start

.mongod:

 sudo service mongodb stop

및 중지를 하는 경우 인 service " " " " 를 ./etc/mongodb.conf.

하는 중mongod

실행하는 경우mongod서비스 정의를 직접 사용하는 대신 구성 파일을 사용하려면 구성 파일을 명령줄 매개 변수로 지정해야 합니다.

mongod --config /etc/mongodb.conf

여기 공식 문서를 따르는 것만으로 이 문제를 해결할 수 있는 방법이 있습니다.

터미널에서 단계별(Ubuntu 실행):

  1. 를 / 폴더로> /srv 파일로 =>cd /srv/
  2. 디렉토리 =>> make 디토리렉> =>>mkdir -p mongodb
  3. /srv/ 내에서 새로 생성된 mongodb 폴더에 올바른 사용 권한 및 그룹 ......
  4. 이것을 > 마막으실행로 =>mongod --dbpath /srv/mongodb/

step"step by step" 터미사복본의널....▁..▁"본▁..▁terminal복사...▁of▁the▁copystep."의터step :)

 ~$ mongod 
    Tue Jun  3 20:27:39.564 [initandlisten] MongoDB starting : pid=5380 port=27017 dbpath=/srv/mongodb/ 64-bit host= -SVE1411EGXB
    Tue Jun  3 20:27:39.564 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:39.564 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:39.564 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:39.564 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:39.564 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:39.565 [initandlisten] exception in initAndListen: 10296 
    *********************************************************************
     ERROR: dbpath (/srv/mongodb/) does not exist.
     Create this directory or give existing directory in --dbpath.
     See http://dochub.mongodb.org/core/startingandstoppingmongo
    *********************************************************************
    , terminating
    Tue Jun  3 20:27:39.565 dbexit: 
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close listening sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to flush diaglog...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: waiting for fs preallocator...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: lock for final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: closing all files...
    Tue Jun  3 20:27:39.565 [initandlisten] closeAllFiles() finished
    Tue Jun  3 20:27:39.565 dbexit: really exiting now
         ~$ mongod --dbpath /srv/mongodb/
    Tue Jun  3 20:27:55.616 [initandlisten] MongoDB starting : pid=5445 port=27017 dbpath=/srv/mongodb/ 64-bit host= -SVE1411EGXB
    Tue Jun  3 20:27:55.616 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:55.616 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:55.616 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:55.616 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:55.616 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:55.617 [initandlisten] exception in initAndListen: 10296 

     ~$ sudo service mongodb start
start: Job is already running: mongodb
     ~$ sudo service mongodb stop
mongodb stop/waiting
     ~$ cd /srv/
     ~$~$/srv$ ls
     ~$ /srv$ mkdir mongodb
     ~$ sudo chgrp   /srv
     ~$ sudo chmod 775 /srv
     ~$ cd /srv/
     /srv$ ls
     /srv$ mkdir mongodb
     /srv$ ls mongodb
     /srv$ cd
     ~$ mongod --dbpath /srv/mongodb/
Tue Jun  3 20:40:57.457 [initandlisten] MongoDB starting : pid=6018 port=27017 dbpath=/srv/mongodb/ 64-bit host= -SVE1411EGXB
Tue Jun  3 20:40:57.457 [initandlisten] db version v2.4.10
Tue Jun  3 20:40:57.457 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
Tue Jun  3 20:40:57.457 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Jun  3 20:40:57.457 [initandlisten] allocator: tcmalloc
Tue Jun  3 20:40:57.457 [initandlisten] options: { dbpath: "/srv/mongodb/" }
Tue Jun  3 20:40:57.520 [initandlisten] journal dir=/srv/mongodb/journal
Tue Jun  3 20:40:57.521 [initandlisten] recover : no journal files present, no recovery needed
Tue Jun  3 20:41:00.545 [initandlisten] preallocateIsFaster=true 36.86
Tue Jun  3 20:41:03.489 [initandlisten] preallocateIsFaster=true 35.06
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster=true 34.44
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster check took 9.935 secs
Tue Jun  3 20:41:07.456 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.0
Tue Jun  3 20:41:10.009 [initandlisten]         File Preallocator Progress: 985661440/1073741824    91%
Tue Jun  3 20:41:22.273 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.1
Tue Jun  3 20:41:25.009 [initandlisten]         File Preallocator Progress: 933232640/1073741824    86%
Tue Jun  3 20:41:37.119 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.2
Tue Jun  3 20:41:40.093 [initandlisten]         File Preallocator Progress: 1006632960/1073741824   93%
Tue Jun  3 20:41:52.450 [FileAllocator] allocating new datafile /srv/mongodb/local.ns, filling with zeroes...
Tue Jun  3 20:41:52.450 [FileAllocator] creating directory /srv/mongodb/_tmp
Tue Jun  3 20:41:52.503 [FileAllocator] done allocating datafile /srv/mongodb/local.ns, size: 16MB,  took 0.022 secs
Tue Jun  3 20:41:52.517 [FileAllocator] allocating new datafile /srv/mongodb/local.0, filling with zeroes...
Tue Jun  3 20:41:52.537 [FileAllocator] done allocating datafile /srv/mongodb/local.0, size: 64MB,  took 0.02 secs
Tue Jun  3 20:41:52.538 [websvr] admin web console waiting for connections on port 28017
Tue Jun  3 20:41:52.538 [initandlisten] waiting for connections on port 27017

새 데이터 디렉토리의 사용자를 변경합니다.

chown mongodb [route_directory]

그리고 몽고 서비스를 시작하기 위해 다른 시간을 시도합니다.

서비스 mongodb 시작

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

  1. 루트 시스템 폴더에서 mongo 로그 파일 찾기

sudo find / -name "mongodb.log" - 유형 f

결과: /var/log/mongodb/mongodb.log

  1. open /var/log/mongodb/mongodb.log

  2. 마지막 "최후" 단어 검색

  3. 예외를 수정하려고 합니다.

저의 경우 다음 예외가 있었습니다. 2015-07-30T 15:09:15.initAndListen의 806+0300 [initandlisten] 예외: 13597은 저널/파일이 있을 때 활성화된 --journal 없이 시작할 수 없습니다. 종료

다음을 만들었습니다.

  1. cd /var/lib/mongodb
  2. rm -r journal/

Mac 카탈리나를 사용하는 경우:

mongod --dbpath=/Users/user/data/db 이 창을 나갑니다.

그러면 다른 창에 입력할 수 있습니다.

몽고

show dbs

언급URL : https://stackoverflow.com/questions/12400808/how-to-resolve-error-dbpath-data-db-does-not-exist-permanently-in-mongodb

반응형