기본 디렉터리에 새 폴더를 만들려고합니다.
모든 종류의 예제를 시도했습니다.
sudo mkdir /data/db
sudo mkdir -p /data/db
나는 계속
mkdir : / data : 읽기 전용 파일 시스템
기본 디렉터리에 새 폴더를 만들려고합니다.
모든 종류의 예제를 시도했습니다.
sudo mkdir /data/db
sudo mkdir -p /data/db
나는 계속
mkdir : / data : 읽기 전용 파일 시스템
답변:
Mac이 있고 Catalina로 업데이트 된 경우 루트 폴더보다 더 이상 쓸 수 없습니다.
다른 곳에서 디렉토리를 변경했습니다.
지금은이 명령을 사용했습니다.
mongod --dbpath=/Users/user/data/db
공식 문서 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/에서
homebrew를 설치 하고 다음 명령을 실행하십시오.
sudo chown -R $(whoami) $(brew --prefix)/*
그때
brew tap mongodb/brew
그때
brew install mongodb-community@4.2
과
brew services start mongodb-community
또는
mongod --config /usr/local/etc/mongod.conf
그때
ps aux | grep -v grep | grep mongod
과
mongo
show dbsmongo 셸에서 실행할 수 있는지 확인하려면
mongodb-community이 설치되지 않았습니다. 시작해야합니다 : 양조 서비스 start mongodb/brew/mongodb-community@4.2
새로운 macOS Catalina 업데이트를 사용하면 폴더 /data/db가 읽기 전용이되며 수정할 수 없습니다. 다른 폴더에 DB를 생성하려면 다음 절차를 따르십시오.
mongod디렉토리 변경 :
sudo mongod --dbpath /System/Volumes/Data/data/db
다음과 같이 사용할 별칭을 지정하십시오 mongod.
alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"
mongod터미널에 입력 하기 만하면 작동합니다.
Extra => 현재 사용자 권한을 부여해야하는 경우 다음 코드 줄을 사용하십시오.
sudo chown -R $(whoami) /System/Volumes/Data/data/db
(정보 $(whoami)를 위해서만 -> 은 현재 사용자를 반환하는 변수입니다)
sudo mkdir -p /System/Volumes/Data/data/db&& sudo chown -R `id -un` /System/Volumes/Data/data/db. 이 폴더가 이미 존재하는지 확실하지 않지만 @xgqfrms의 대답을 이것과 결합했습니다. 이것에 대해 정말 감사하고 나를 미치게 만들었습니다.
mongod db폴더 의 경로를 영구적으로 변경 합니다.
이 문서 를 따라 그들은 대략 이것을 말합니다. mongod가 brew 서비스로 시작되는 경우 :
$ brew services start mongodb-community@4.2
경로에서 구성 파일을 사용합니다. /usr/local/etc/mongod.conf
이 문제를 해결하려면 구성 파일을 편집하십시오.
$ vim /usr/local/etc/mongod.conf
그리고 dbPatheg를 다음과 같이 홈 디렉토리로 변경하십시오 .
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /Users/<username>/data/db
net:
bindIp: 127.0.0.1
파일을 저장하고 brew로 mongod를 다시 시작하십시오.
$ brew services restart mongodb-community@4.2
따라서 macOS Catalina를 사용하여 Apple은 보안 목적으로 새로운 볼륨을 만들었습니다. 당신이 맥 OS 카탈리나에 있다면, 당신은 만들어야 /data/db에서 폴더를 System/Volumes/Data.
다음 명령을 따르십시오.
sudo mkdir -p /System/Volumes/Data/data/dbsudo chown -R id -un /System/Volumes/Data/data/dbMongoDB 시작
brew services run mongodb-community
즐기세요 😉
https://www.apple.com/macos/catalina/features/
macOS Catalina는 읽기 전용 전용 시스템 볼륨에서 실행됩니다. 즉, 다른 모든 데이터와 완전히 분리되어 macOS의 안정성을 개선하는 데 도움이됩니다.
# macOS Catalina, mkdir path
$ sudo mkdir -p /System/Volumes/Data/data/db
# give permissions
$ sudo chown -R `id -un` /System/Volumes/Data/data/db
# macOS 10.14.x -
$ sudo mkdir -p /data/db
# macOS 10.15.x +
$ sudo mkdir -p /System/Volumes/Data/data/db
https://discussions.apple.com/thread/250720711
다음은 Udemy 과정을 수강하는 동안 저에게 효과적이었습니다. 1. 터미널에 이것을 입력하여 HomeBrew를 설치합니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
이전 / data / db 폴더 (현재 DB를 백업하려는 경우)를 루트가 아닌 폴더로 이동하고 다음 단계를 진행합니다.
터미널에서 실행 a) brew uninstall mongodb
b) 필요한 경우 실행 brew uninstall --force mongodb
c) brew tap mongodb/brew
d) brew install mongodb-community
e)brew services start mongodb/brew/mongodb-community
이제 필요한 것은 터미널에서 mongo를 실행하는 것입니다. 그러면 mongo shell 기호>가 표시됩니다.
이것이 작동하는지 알려주세요;) /apple/362883/mongodb-doesnt-work-after-update-to를 기반으로 알아내는 데 거의 2 시간이 걸렸습니다. -macos-catalina-10-15
건배, 라두
mongodb-community 공식의 기본 경로
MongoDB 서버 및 도구 바이너리를 설치하는 것 외에도 mongodb-community 공식은 다음을 생성합니다.
그런 다음 그것은 나를 위해 일했습니다.
mkdir -p usr/local/var/mongodb/data/db
/data/디렉토리를 생성 할 수 없습니다 . APFS 파일 시스템 용으로 예약되어 있습니다. 이 문제에 대한 Bombich의 블로그를 확인하십시오 .
나는 애플이 왜 그렇게했는지를 잃어 버렸다. 이제 우리는 그들의 것 외에 다른 루트 레벨 디렉토리를 가질 수 없다. 이것은 의미가 없으며 루트 권한으로 만든 사람들은 해당 폴더가 무엇을하고 있는지 알고 있습니다.
macOS Catalina를 사용하면 더 이상 읽기 전용 시스템 볼륨에 파일이나 데이터를 저장할 수 없으며 터미널과 같은 명령 줄에서 "루트"디렉토리 (/)에 쓸 수 없습니다.
David Buck이 여기 에 쓴 내용을 추가하려면 먼저 실제로 디렉토리를 만들어야합니다. 다음과 같이 할 수 있습니다.
sudo mkdir / System / Volumes / Data / data / db
이 오류가 발생하는 경우 :
"명령 줄 구문 분석 오류 : 인식 할 수없는 옵션 '--dbpath / System / Volumes / Data / data / db'자세한 내용은 'mongod --help'를 시도하십시오."
별칭을 만든 후 David Buck (정말 유용한 댓글을 작성하는 동안)이 답변에 공백을 놓 쳤기 때문입니다.
이 문제를 해결하려면 다음을 입력하십시오.
unalias mongod
그런 다음 입력
alias mongod = "sudo mongod --dbpath / System / Volumes / Data / data / db"
Mac 버전 Catalina가 만든 루트 폴더는 더 이상 쓸 수 없습니다.
Brew에는 새로운 경로 (자체 생성)를 사용하기 위해 업데이트 된 버전의 mongodb가 있습니다. /usr/local/var/mongodb 있으며 다음 지침을 따르면 문제가 해결됩니다.
업데이트 된 mongodb-community-edition 설치 가이드
brew install mongodb-community@VERSION 수정 된 첫 번째 버전은 4.2입니다.
catalina에서 mongodb를 설치하고 실행하는 간단한 단계로 요점을 만듭니다.
# install homebrew (https://brew.sh/) and run the following commands
sudo chown -R $(whoami) $(brew --prefix)/*
brew tap mongodb/brew
brew install mongodb-community@4.2
## --- aliases to set in your zshrc file
# open your zshrc file
open ~/.zshrc
# copy and paste shorcuts in the end of the file
alias mongod='brew services run mongodb-community'
alias mongod-start='brew services start mongodb-community' #will start MongoDB automatically when you login into your Macbook
alias mongod-status='brew services list'
alias mongod-stop='brew services stop mongodb-community'
# restart your terminal
# type mongod in your terminal for run service & mongod-stop for finish it
# test your mongodb connection with
mongo
show dbs
https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799