mongoDB가 어디에 데이터를 저장하는지 어떻게 알 수 있습니까?(디폴트 /data/db!에는 없습니다).
호스트에는 mongodb 인스턴스가 포함되어 있고 /db 디렉토리가 없기 때문에 데이터가 실제로 어디에 저장되어 있는지 알아보려면 어떻게 해야 할까요?
mongod
는, 을 「」로 설정합니다./data/db/
.
<고객명>을ps -xa | grep mongod
'이렇게 하다'는 않습니다.--dbpath
명령어는 명시적으로 「」를 나타내고 있습니다.mongod
할 때 db가 dbpath
안에서mongodb.conf
'하다, 하다' 입니다/data/db/
저기 좀 보세요.
컨피규레이션파일에는 뭐라고 되어 있습니까?
$ grep dbpath /etc/mongodb.conf
올바르지 않은 경우 다음을 수행하십시오. 데이터베이스 파일이 목록에 표시됩니다.
$ sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG
입니다./var/lib/mongodb/*
우분투 11.04)입니다.
,도 있다는 점에 하세요./var/lib/mongodb/mongod.lock
을 보관 유지하다mongod
편리성을 위해 PID는 데이터 디렉토리에 있습니다.이것들은 우리가 찾고 있는 것입니다.
db.serverCmdLineOpts()
서버에 접속할 수 있는 경우 실제 경로를 찾는 가장 강력한 방법입니다..dbPath에는 서버가 하고 있는 되어 있으며 "parsed.storage.dbPath"에서 때 할 수 .
또, 여기서 제공하는 솔루션에서는 보증되지 않는 실제의 값(마지막의 재기동 후에 설정이 변경되지 않는 등)을 config 값이 반영하고 있는 것도 중요합니다.
db.serverCmdLineOpts()
출력 예:
{
"argv" : [
// --
],
"parsed" : {
"config" : "/your-config",
"storage" : {
"dbPath" : "/your/actual/db/path",
// --
}
},
"ok" : 1.0
}
mongodb v2.6.4의 새로운 버전에서 다음을 시도합니다.
grep dbpath /etc/mongod.conf
다음과 같은 결과를 얻을 수 있습니다.
dbpath=/var/lib/mongodb
여기에 데이터를 저장합니다.
이 질문에서는 Mongo의 Linux/Unix 인스턴스에 대해 질문합니다만, 이것은 사용된 운영체제에 관계없이 최초의 검색 결과 중 하나이기 때문에, 향후의 Windows 유저에게는 다음과 같은 정보가 표시됩니다.
MongoDB가 Windows 서비스로 기본 설정되어 있는 경우, 보통 MongoDB 서비스 속성에서 '실행 파일의 경로' 항목을 보면 찾을 수 있습니다.
제 경험상 기본 위치는 다음과 같습니다./var/lib/mongodb
가 한 다음에
sudo apt-get install -y mongodb-org
실제로 mongod 인스턴스가 데이터를 저장하는 기본 디렉토리는 다음과 같습니다.
/data/db
및 X의 경우 OS X의 경우
\data\db
の windows on
마찬가지로 mongodb 구성 파일에서 dbPath 설정을 찾을 수 있습니다.
- 는 Linux입니다.
/etc/mongod.conf
'MongoDB'입니다.디렉토리를 하려면 , 다음의 합니다.grep dbpath /etc/mongodb.conf
- Windows 의 경우, 장소는 다음과 같습니다.
<install directory>/bin/mongod.cfg
mongod.cfg 파일을 열고 dbPath 옵션을 확인합니다. - MacOS의 경우 위치는 다음과 같습니다.
/usr/local/etc/mongod.conf
MongoDB의 공식 홈브루 탭에서 설치할 때 사용합니다.
패키지 매니저 설치에 포함된 기본 mongod.conf 설정 파일에서는 다음 플랫폼 고유의 기본값을 사용합니다.
+--------------------------+-----------------+------------------------+
| Platform | Package Manager | Default storage.dbPath |
+--------------------------+-----------------+------------------------+
| RHEL / CentOS and Amazon | yum | /var/lib/mongo |
| SUSE | zypper | /var/lib/mongo |
| Ubuntu and Debian | apt | /var/lib/mongodb |
| macOS | brew | /usr/local/var/mongodb |
+--------------------------+-----------------+------------------------+
컨피규레이션파일의 설정을 사용할 수 있는 것은, 의 경우 뿐입니다.
Linux 패키지 init 스크립트는 예상하지 않음storage.dbPath
를 디폴트에서 변경합니다.리눅스 패키지를 사용하여storage.dbPath
자체 init 스크립트를 사용하여 삽입 스크립트를 비활성화해야 합니다.
여기 OSX 시스템에서 찾았습니다./usr/local/var/mongodb
Windows의 경우 MongoDB로 이동합니다.\Server\4.0\bin 폴더를 열고 임의의 텍스트에디터로 mongod.cfg 파일을 엽니다.그런 다음 dbPath 매개 변수를 지정하는 행을 찾습니다.선이 비슷해 보입니다.
dbPath: D:\Program Files\MongoDB\Server\4.0\data
MongoDB 4.4+ 및 Cent의 경우OS 8, 다음을 실행하여 경로를 찾았습니다.
grep dbPath /etc/mongod.conf
여기저기 뒤져서 발견했어/var/db
도움을 주셔서 감사합니다.이 답변들은 다른 시스템(Ubuntu 등)에도 적용되어 다른 시스템에도 도움이 될 것입니다.
mongod.log와 그 위에 있는 grep을 찾을 수 있다면
grep dbpath mongod.log
dbpath 값은 mongodb의 데이터 위치입니다!!행운을 빈다 :)
기동하면 표시됩니다.하지만 나는 그것이 당신이 당신의 호스트에게 할 수 있는 것인지 아닌지 모르겠다.명령줄에 액세스하여 서비스를 재시작할 수 있는 경우 다음과 같은 메시지가 나타납니다.
2016-11-15T12:57:09.182-0500 I CONTROL [initandlisten]
MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\
언급URL : https://stackoverflow.com/questions/7247474/how-can-i-tell-where-mongodb-is-storing-data-its-not-in-the-default-data-db
'programing' 카테고리의 다른 글
Oracle SQL Developer를 통한 비밀번호 변경 (0) | 2023.03.21 |
---|---|
Go를 사용하여 JSON을 예쁘게 인쇄하려면 어떻게 해야 하나요? (0) | 2023.03.21 |
리액트 테스트 라이브러리:테스트 스타일(특히 배경 이미지) (0) | 2023.03.21 |
세미콜론을 더 예쁘게 지우는 방법? (0) | 2023.03.21 |
Angular에서 실제 오류 메시지 대신 "Http failure response for (unknown url): 0 Unknown Error"가 나타난다. (0) | 2023.03.21 |