programing

Mac OS 10.15(Catalina)로 업그레이드한 후 MongoDB가 데이터 디렉토리를 찾을 수 없음

i4 2023. 3. 17. 19:35
반응형

Mac OS 10.15(Catalina)로 업그레이드한 후 MongoDB가 데이터 디렉토리를 찾을 수 없음

나는 오늘 MacOS 10.15(CATNA)로 업데이트되었습니다.오늘 MacOS 10.15(Catalina)로 업데이트했습니다.내 가 릴 때 when?mongod in the terminal it cannot find the 터미널에서 찾을 수 없습니다./data/db디렉토리:디렉토리:

➜  /Users/william > mongod
2019-10-08T17:02:44.183+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] MongoDB starting : pid=43162 port=27017 dbpath=/data/db 64-bit host=Williams-MacBook-Pro-6.local
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] db version v4.0.3
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] allocator: system
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] modules: none
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] build environment:
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten]     distarch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] options: {}
2019-10-08T17:02:44.211+0800 I STORAGE  [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
2019-10-08T17:02:44.211+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2019-10-08T17:02:44.211+0800 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2019-10-08T17:02:44.211+0800 I CONTROL  [initandlisten] now exiting
2019-10-08T17:02:44.211+0800 I CONTROL  [initandlisten] shutting down with code:100
➜  /Users/william > 

나는 몽토DB를 위해 몽토DB를 설치하려고 했다.brew:

brew install mongodb

➜  /Users/william > brew install mongodb
Updating Homebrew...
Error: mongodb: unknown version :mountain_lion

도움이 필요하신가요?

주요 오류는 다음과 같습니다.

initAndListen 예외:NonExistentPath: 데이터 디렉토리 /data/db를 찾을 수 없습니다. 종료합니다.

Catalina는 root 디렉토리의 변경을 허용하지 않습니다(이것은 포럼 스레드에서도 설명되었습니다).

% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system

유감스럽게도, 이것은, Catalina의 기능에 관한 간단한 언급을 제외하고, Apple의 Catalina 릴리스 노트에는 명기되어 있지 않다.

MacOS Catalina는 읽기 전용 시스템 볼륨에서 실행

Since the directory 디렉토리 이후/data/db디폴트로 되어 있습니다. MongoDB 를 입니다.회피책은 다른 것을 지정하는 것입니다.dbpath directoryroot에 .예를 들어 다음과 같습니다.

mongod --dbpath ~/data/db

【MongoDB】【MongoDB】【MongoDB】【MongoDB】【MongoDB】【MongoDB】【MongoDB】【MongoDB】【MongoDB】.가 「」라고 것을 해 주세요.~/data/db실제로 존재합니다.

대체 방법

또 다른 방법은 MacOS에 MongoDB Community Edition 설치 절차를 따르는 것입니다.brew:

brew tap mongodb/brew
brew install mongodb-community

기본적으로 다음과 같은 추가 파일이 생성됩니다.

  • 컨피규레이션파일(/usr/local/etc/mongod.conf)
  • 로그 디렉토리 경로(/usr/local/var/log/mongodb)
  • 데이터 디렉토리 경로(/usr/local/var/mongodb)

mongod다음의 어느쪽인가를 실행할 수 있습니다.

  • 명령줄에서 명령어를 수동으로 실행합니다(편의상 에일리어스를 지정할 수 있습니다).

    mongod --config /usr/local/etc/mongod.conf
    
  • "MongoDB"를 사용하여 로 실행합니다.brew services는 () 노드로 되므로 MongoDB를 변경하지 를 들어 ) mongod★★★★★★★★★

    brew services start mongodb-community
    

설치 후에 Catalina라는 수 .Relocated Items. 를 찾을 수 있습니다.data/db" " " 내의 Security더입니니다다

내가 해야 할 일은 그 집을 옮기는 것 뿐이었다Security/data/db으로는 「」입니다data/db폴더홈

Finder 앱 또는 단말기에서 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.

sudo mv /Users/Shared/Relocated\ Items/Security/data ~/

후 : 행행: :mongod --dbpath ~/data/db

에일리어스를 작성하는 것은 사용자에게 달려 있습니다.

Kevinadi는 이미 그 질문을 정당하게 처리했지만, 저는 이렇게 문제를 해결했습니다.

mongodb-community 설치 후

  1. sudo mkdir -p /System/Volumes/Data/data/db 폴더 )( "/db " " )
  2. sudo chown -R - unid /System/Volumes/Data/data/db 부여)(「」)
  3. mongod --dbpath=/System/Volumes/Data/data/db 변경mongodb의 dbpath 변경)
  4. mongod 작동한다잘동작))

나는 mongodb 설치에 관한 이 기사가 매우 유용하다는 것을 알았다.

트릭을 발견했어...디렉토리에서 ~/data/db 전체 폴더를 삭제한 후 새 폴더를 다시 생성하지만 대신 mkdir -p /data/db를 사용하지 마십시오. 트랙패드를 사용하여 폴더를 만듭니다.

이것은 나에게 효과가 있었다.

다음과 같은 이점이 있습니다.

  1. 예를 들어 폴더를 만듭니다.개발/mongodb/data/db
  2. mongod.conf 파일을 열고 storage.dbPath 값을 새로 생성된 폴더 경로로 업데이트합니다.

Mac 버전 Catalina는 루트 폴더를 더 이상 쓸 수 없게 만들었습니다.

는 새로운 있습니다(생성). Brew mong mongodb brew 、 Brew mong mongodb 。/usr/local/var/mongodb다음의 순서에 따라서, 문제가 해결됩니다.

업데이트된 mongodb-community-edition 설치 가이드

brew install mongodb-community@VERSION2입니다.

BigSur에서도 같은 문제가 발생했는데 유감스럽게도 재배치된 아이템 폴더에는 MongoDB 덤프 같은 것이 포함되어 있지 않았습니다.덤프에는 데이터베이스 이름의 폴더가 포함되어 있기 때문에 데이터베이스 이름으로 Finder를 검색하기로 했습니다.그리고 내 쓰레기장이 여기 있는 걸로 밝혀졌어

Macintosh HD/시스템/볼륨/Macintosh HD/data/db

제가 알기론 OS 업데이트 중에 덤프가 슬립으로 이동된 것은 루트에 대한 쓰기 권한이 OS에서 부여되지 않았기 때문입니다.

도커 이미지는 상대적인 디렉토리 참조를 사용하면 어디에 있든 디렉토리를 찾을 수 있습니다./데스크탑은 Mac Desktop 디렉토리를 /Desktop으로 이미지에 매핑합니다.

docker run -it -v ~/Desktop:/Desktop r-base bash

★★★★★★★★★★★★★★★로 이동~/Users/Shared이라는 폴더 .여기에서는 '데이터' 폴더를 찾을 수 있는 '재위치된 항목'이라는 이름의 폴더를 찾을 수 있습니다.'mongodb'는 'mongodb'를 말합니다./data/db'는요.

해서 '데이터'에 .Users/<name-of-your-user-account-with-the-home-icon">.

"zsh"를 실행합니다.mongod --dbpath ~/data/db에서 새 을 입력합니다.mongo몽고껍질을 열면 갈 수 있을 거야

사용하는 것을 잊지 마세요.mongod --dbpath ~/data/db몽고드

저는 Catalina 업그레이드 후 위의 폴더와 다른 폴더로 이동하였습니다.동일한 경로를 찾는 사람이 있을 경우 아래 솔루션을 사용할 수 있습니다.

cp /Users/Shared/Previously\ Relocated\ Items/Security/data ~
mongod --dbpath ~/data/db

이렇게 하면 mongo 쉘에 액세스할 때 오래된 데이터베이스와 컬렉션을 볼 수 있습니다.

mongo
show dbs

언급URL : https://stackoverflow.com/questions/58283257/mongodb-cant-find-data-directory-after-upgrading-to-mac-os-10-15-catalina

반응형