programing

mongod --dbpath 설정 방법

javajsp 2023. 5. 14. 10:21

mongod --dbpath 설정 방법

몽고드밴드 데이터베이스는 일반적으로 매우 새로운 것입니다.달릴 때마다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

달리는 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

를 으로내몽경고설로정으로 때.mongod --dbpath /data/db시 함) 및하면 모든 정상적으로 다시 됩니다. 제과 같습니다. (으ㄹ게요. 하지만 닫으면 모든 것이 다시 중단됩니다. 제 질문은 다음과 같습니다.

  1. 가 "dbpath"로 는 무엇입니까?/usr/local/var/mongodb?
  2. 몽고가 내 기계에서 작동하도록 이 오류를 어떻게 수정합니까?

으로 "dbpath"로 /data/db를 "dbpath"로 할 수 합니다./usr/local/var/mongodb

나는 unix 명령어도 꽤 새로워서 이 오류를 어떻게 해결해야 할지 완전히 확신할 수 없습니다.

제안해 주셔서 감사합니다!

그래서 mongodb 문서를 뒤적이며 나는 이것을 읽었습니다.

하지 않은 는 기본 ""에서 ./data/db디렉터리. (윈도우즈 시스템은 \data\db 디렉터리를 사용합니다.)패키지 관리 시스템을 사용하여 설치한 경우. 항목을 합니다./etc/mongodb.conf에서 패키지의 할 수 .dbpath."

가 내가안있파봤때을을일들에 있는 때./etc/ .mongodb.conf파일...하지만, 저는 압니다./usr/local/etc/mongod.conf가 이것을 했다면, 는 그서만약내이올이바면다해한, 나는라만합니다라는 파일을 ./etc/mongodb.conf를 dbpath로 합니다./data/db.

안에있내삭합니까야제해용을는?▁▁stuff 내의 내용을 삭제해야 ?/usr/local/역시?

이것은 내 경로가 어떻게 설정되는지와 관련이 있다고 생각합니다.누가 제게 유닉스에서 이것을 고치는 방법을 설명해주실 수 있나요? 그래야 이 문제가 이 문제를 겪지 않을 수 있을까요?

다시한번 감사드립니다!

Mac에서만 사용해 본 기능:

  • 앱의 루트 폴더에 데이터 디렉토리 만들기
  • 설치할 때 mongo 디렉토리를 어디에 두든지 cd를 넣으십시오.
  • 다음 명령을 실행합니다.

    mongod --dbpath ~ /path/to/your/app/data

당신은 가야 합니다!

mongodb.conf 파일에서 dbPath를 설정할 수 있습니다.

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

Mongodb 2.6 버전 이후의 YAML 기반 구성 파일 형식이므로 탭 없이 공백만 사용하고 ":" 뒤에 공백을 사용합니다.

일반적으로 이 파일은 다음 *nix 시스템에 있습니다: /etc/mongodb.conf

그럼 그냥 도망가

$ mongod -f /etc/mongodb.conf

몽고드 프로세스가 시작됩니다.

(Windows에서) 다음과 같은 작업을 수행합니다.

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

먼구 있습다니파에 구성 ./etc/mongodb.conf따라서 이것은 좀 더 표준화된 경로를 사용하는 홈브루 설치처럼 들립니다. 체전./data/db/수동 설치 설명서에 많이 나와 있습니다.

따라서 기본적으로 로그에서 서버가 실행되지 않고 종료되므로 셸이 연결할 수 있는 항목이 없습니다.부정한 종료/재시작으로 인해 불일치가 발생한 것 같습니다.

의 ./usr/local/var/mongodb/journal/사용자 구성에서.

또한:

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

그 부분이 깨끗해 보여도 혹시나 해서요.다시 시작합니다.

내게는 다음과 같은 것이 있어야 합니다.

mongod --dbpath=/whatever/data/path

홈, 내부 db 다른 디렉토리 데이터에 디렉토리 db 작성

cd 
mkdir db
cd db
mkdir data

그런 다음 이 명령을 입력합니다.

mongod --dbpath ~/db/data
mongod  --port portnumber --dbpath /path_to_your_folder

기본적으로 포트 번호는 27017이고 경로는 /var/lib/mongodb입니다.

모든 데이터베이스를 보관할 포트 번호와 경로를 설정할 수 있습니다.

mongod가 시작 시 자동으로 실행되고 dbpath가 구성 시 설정되도록 시작 시 실행되도록 구성할 수도 있습니다.시도 방법:

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

--smallfiles크기에 오류가 발생할 경우 태그가 있습니다.물론, 그것은 선택 사항입니다.이렇게 하면 mongodb 설정을 자동화하는 동시에 문제를 해결할 수 있습니다.

sudo mongod --dbpath ~/data

이것이 저에게 효과가 있었습니다.

매우 간단합니다.

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

시나리오:MongoDB(버전 v4.0.9).

  1. 데이터베이스를 저장할 사용자 정의 폴더(이름: myCustomDatabases)를 설정합니다.
  2. 사용자 정의 폴더(이름: myCustomDatabases)에서 데이터베이스(이름: newDb)를 만들어야 합니다.

해결:

  1. 사용자 정의 폴더 만들기(이름: myCustomDatabases):

    D:>md myCustomDatabases
    
  2. 사용자 지정 폴더(이름: myCustomDatabases)의 경로로 'mongod --dbpath'를 실행합니다.

    mongod --dbpath "D:\myCustomDatabases"
    
  3. 다른 'cmd'에서 'mongo'를 실행합니다.

    D:>mongo
    

    3.1. 사용자 정의 폴더(이름: myCustomDatabases)에 저장된 모든 데이터베이스 표시:

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

    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 })
    

    insert({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가 있습니다.

윈도우즈 환경, 로컬 시스템.나는 오류가 있었습니다.

[js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: 
Error connecting to 127.0.0.1:27017 :: caused by :: 
No connection could be made because the target machine actively refused it. :

몇 번의 시도 끝에 나는 결정했습니다.

  • Windows "작업 관리자"를 확인합니다.MongoDB 프로세스가 중지되었음을 알게 되었습니다.
  • 제가 운영했습니다.모든 것이 예상대로 작동하기 시작합니다.

--dbpath 플래그를 사용하여 매개 변수(예: 디렉토리 주소)를 제공할 수 있습니다.Windows 10 OS에 유용하다는 것을 알게 되었습니다.

기본 설정에서는 일반적으로 필요하지 않습니다.

데이터를 저장할 디렉토리로 이동합니다.

"mongodb"라는 폴더를 만들고 그 안에 "data"라는 다른 디렉토리를 만듭니다.

터미널 창에서 "mongodb" 디렉터리로 다시 이동하고 다음 행을 배치합니다.mongod --dbpath=data --bind_ip 127.0.0.1

mongodb 데이터베이스를 시작할 때마다 이 명령 실행

terminal 명령어 사용mongod --dbpath /YOUR/PATH/TO/DATA/MongoDB를 시작하고 싶을 때마다 입력해야 합니다.어떻게든 mongo.conf에 설정한 것이 경로를 제대로 로드하지 못했습니다.~/.zshrc에 별칭을 추가하여 긴 명령을 매번 입력하지 않아도 되는 솔루션을 찾았습니다.

  1. MongoDB 종료(Mongo가 터미널에서 실행 중인 동안:use admin다음 줄에서 Enter 키를 누릅니다.db.shutdownServer().
  2. 터미널 창을 닫습니다.
  3. 열다.~/.zshrc또는 MacOS에서 bash-shell open을 사용하는 경우~/.bash_profile
  4. 파일에 추가:alias -g mongod="MongoDB --dbpath /YOUR/PATH/TO/DATA/
  5. .zshrc 또는 .bash_profile 파일을 저장합니다.
  6. 터미널 열기
  7. 유형source ~/.zshrc또는 bash-shell 사용자의 경우:source ~/.bash_profile
  8. 유형mongod

MongoDB는 이제 올바른 경로와 연결로 실행되어야 합니다.지금 터미널을 닫을 수 있습니다.mongo가 터미널을 열고 실행 중인지 확인하려면 다음과 같이 입력합니다.mongo터미널 또는 유형으로 인터페이스를 제공합니다.top그리고 지원 목록에서 mongo를 확인합니다.

언급URL : https://stackoverflow.com/questions/21448268/how-to-set-mongod-dbpath