Есть ли способ сделать это постоянным? Мне приходится вводить его каждый раз, когда я запускаю сервер MongoDB!
AV Paul
2
@AVPaul Может быть, не лучшее решение, но вы можете создать псевдоним, который будет указывать на ваш путь.
DjangoBlockchain
1
@JeffGoes Я предполагаю, что вы не заменили имя пользователя на настоящее имя.
Аман
2
@AlexL У меня тоже работает. Но нужно ли мне набирать mongod --dbpath = / Users / my_USER_name / data / db каждый раз, когда я хочу запустить свой dev mongo db? Потому что в следующий раз, когда я запускаю mongod, он говорит, что / data / db не найден
Шоеб Мирза
3
вы можете сделать его постоянным, установив dbPath в файле конфигурации mongoDB, если вы используете Mac, он находится в /usr/local/etc/mongod.conf. затем добавьте следующее: «storage: dbPath: путь к вашему каталогу db»
С новым обновлением macOS Catalina папка /data/dbстановится доступной только для чтения, вы не можете ее изменять. Выполните эту процедуру, чтобы создать БД в другой папке:
Сменить mongodкаталог:
sudo mongod --dbpath /System/Volumes/Data/data/db
Дайте ему псевдоним, чтобы использовать его как mongod:
alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"
Просто введите mongodсвой терминал, он должен работать.
Extra => Если вам нужно дать ему права текущего пользователя, используйте эту строку кода:
Переместите старую папку / data / db (если вы хотите сделать резервную копию текущих dbs) в некорневую папку и перейдите к следующему шагу
Запустите в Терминале 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>.
Итак, с macOS Catalina Apple создала новый том в целях безопасности. Если вы используете macOS Catalina, вам нужно создать /data/dbпапку в формате System/Volumes/Data.
macOS Catalina работает в выделенном системном томе, доступном только для чтения, что означает, что он полностью отделен от всех других данных и помогает повысить надежность macOS.
С macOS Catalina вы больше не можете хранить файлы или данные в системном томе, доступном только для чтения, а также не можете писать в «корневой» каталог (/) из командной строки, например, с помощью Терминала.
Итак, можно ли решить эту проблему с файлом, доступным только для чтения? У меня такая же проблема
Зайнаб Хаммами
2
Нет, вам нужно использовать другое имя для вашего каталога. Возможным решением может быть создание каталога данных внутри другого каталога, который может быть корневым.
jvarela
1
Я сделал это:
mkdir -p usr/local/var/mongodb/data/db
поскольку новый путь - «usr / local / var / mongodb».
Mac-версия Catalina сделала корневую папку недоступной для записи.
У Brew есть обновленная версия mongodb для использования нового пути (который он создает сам), /usr/local/var/mongodbи следование этим инструкциям устранит проблему:
Я создаю суть с простыми шагами по установке и запуску 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
Чтобы дополнить то, что здесь написал Дэвид Бак , сначала вам нужно создать каталог. Вы можете сделать это с помощью:
sudo mkdir / Система / Тома / Данные / данные / БД
Если вы получаете эту ошибку:
«Ошибка синтаксического анализа командной строки: неопознанный параметр '--dbpath / System / Volumes / Data / data / db', попробуйте 'mongod --help' для получения дополнительной информации»
после создания псевдонима это просто потому, что Дэвид Бак (делая действительно полезный комментарий) пропустил пробел в своем ответе.
Чтобы исправить это, введите
unalias mongod
а затем введите
псевдоним mongod = "sudo mongod --dbpath / System / Volumes / Data / data / db"
Это был не я ... следует отдать должное Эжену Беляеву. Я только что отредактировал их ответ для форматирования ...
Дэвид Бак
0
Я не понимаю, почему Apple сделала это ... Итак, теперь у нас не может быть никаких корневых каталогов, кроме их? Это просто не имеет смысла, и люди, создающие с правами root эти папки, знают, что делают.
Ответы:
Если у вас 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 dbs
в оболочке mongoисточник
С новым обновлением macOS Catalina папка
/data/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)
это просто переменная, которая возвращает вашего текущего пользователя)источник
Сделать постоянное изменение пути к
db
папке mongod .Следуя этим документам, они говорят примерно следующее. Если mongod запущен с сервисами пивоварения:
$ brew services start mongodb-community@4.2
Он будет использовать файл конфигурации по пути
/usr/local/etc/mongod.conf
Чтобы исправить это, отредактируйте файл конфигурации:
И измените,
dbPath
например, свой домашний каталог следующим образом: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
Сохраните файл и перезапустите mongod с помощью brew:
$ brew services restart mongodb-community@4.2
источник
Вот что сработало для меня, когда я проходил курс Udemy: 1. Установите HomeBrew, введя это в свой терминал.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Переместите старую папку / data / db (если вы хотите сделать резервную копию текущих dbs) в некорневую папку и перейдите к следующему шагу
Запустите в Терминале 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>.
Пожалуйста, дайте мне знать, работает ли это;) Мне потребовалось почти 2 часа, чтобы понять это, основываясь на этой статье: /apple/362883/mongodb-doesnt-work-after-update-to -macos-catalina-10-15
Ура, Раду
источник
Если вы используете Mac и столкнулись с проблемой, то полезна команда ниже,
whoami
переменная получит текущего пользователяmongod --dbpath=/Users/$(whoami)/data/db
источник
Итак, с macOS Catalina Apple создала новый том в целях безопасности. Если вы используете macOS Catalina, вам нужно создать
/data/db
папку в форматеSystem/Volumes/Data
.Следуйте этим командам
sudo mkdir -p /System/Volumes/Data/data/db
sudo chown -R
id -un/System/Volumes/Data/data/db
Запустить MongoDB
brew services run mongodb-community
Наслаждайтесь 😉
источник
Пути по умолчанию для формулы mongodb-community
Помимо установки сервера MongoDB и двоичных файлов инструмента, формула mongodb-community создает:
тогда это сработало для меня:
mkdir -p usr/local/var/mongodb/data/db
источник
Вы больше не можете создать папку в корневом каталоге на Mac Catalina!
https://www.apple.com/macos/catalina/features/
Выделенный системный объем
# 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
https://zellwk.com/blog/install-mongodb/
https://www.youtube.com/watch?v=DX15WbKidXY
источник
С macOS Catalina вы больше не можете хранить файлы или данные в системном томе, доступном только для чтения, а также не можете писать в «корневой» каталог (/) из командной строки, например, с помощью Терминала.
источник
Вы не можете создать
/data/
каталог. Это зарезервировано для файловой системы APFS. Посетите блог Bombich по этой проблеме.источник
Я сделал это:
mkdir -p usr/local/var/mongodb/data/db
поскольку новый путь - «usr / local / var / mongodb».
источник
Mac-версия Catalina сделала корневую папку недоступной для записи.
У Brew есть обновленная версия mongodb для использования нового пути (который он создает сам),
/usr/local/var/mongodb
и следование этим инструкциям устранит проблему:Руководство по установке обновленной версии mongodb-community-edition
brew install mongodb-community@VERSION
где первая ВЕРСИЯ с исправлением - 4.2источник
Я создаю суть с простыми шагами по установке и запуску 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
источник
Чтобы дополнить то, что здесь написал Дэвид Бак , сначала вам нужно создать каталог. Вы можете сделать это с помощью:
Если вы получаете эту ошибку:
после создания псевдонима это просто потому, что Дэвид Бак (делая действительно полезный комментарий) пропустил пробел в своем ответе.
Чтобы исправить это, введите
а затем введите
источник
Я не понимаю, почему Apple сделала это ... Итак, теперь у нас не может быть никаких корневых каталогов, кроме их? Это просто не имеет смысла, и люди, создающие с правами root эти папки, знают, что делают.
источник