Я намагаюся створити нову папку в головному каталозі
Перепробував усілякі приклади
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 dbs
в оболонці mongo
mongodb-community
не встановлена. Вам потрібно запустити: служби пивоваріння запускаються mongodb/brew/mongodb-community@4.2
З новим оновленням 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
свій термінал, він повинен працювати.
Додатково => Якщо вам потрібно надати йому поточні права користувача, використовуйте цей рядок коду:
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 з цією. Велике спасибі за це, зводило мене з розуму.
Зробити постійну зміну шляху до db
папки mongod .
Після цих документів вони кажуть приблизно таке. Якщо mongod розпочато з сервісного обслуговування:
$ brew services start mongodb-community@4.2
Він буде використовувати конфігураційний файл на шляху /usr/local/etc/mongod.conf
Щоб виправити це, відредагуйте файл налаштування:
$ vim /usr/local/etc/mongod.conf
І змініть dbPath
eg на домашній каталог, як це:
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
Так, з macOS Каталіна 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
Насолоджуйтесь 😉
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 (якщо ви хочете зробити резервну копію поточної бази даних) у не кореневу папку та перейдіть до наступного кроку
Запуск в терміналі а) brew uninstall mongodb
б) За потреби пробіг brew uninstall --force mongodb
в) brew tap mongodb/brew
г) brew install mongodb-community
д)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
Шляхи за замовчуванням для формули спільноти mongodb
На додаток до встановлення сервера MongoDB та бінарних файлів інструментів, формула mongodb-community створює:
тоді це спрацювало для мене:
mkdir -p usr/local/var/mongodb/data/db
Ви не можете створити /data/
каталог. Це зарезервовано для файлової системи APFS. Відвідайте блог Бомбіча щодо цього питання.
Я втрачаю, чому Apple це зробила. Тож тепер у нас не може бути жодного каталогу кореневого рівня, крім їхнього? Це просто не має ніякого сенсу, і люди, які створюють із правами root, ці папки знають, що вони роблять
За допомогою macOS Catalina ви більше не можете зберігати файли або дані в системному томі, доступному лише для читання, а також не можете писати в "кореневий" каталог (/) із командного рядка, наприклад, за допомогою терміналу.
Щоб додати те, що Девід Бак писав тут , спочатку вам потрібно створити каталог. Ви можете зробити це за допомогою:
sudo mkdir / System / Volumes / Data / data / db
Якщо ви отримуєте цю помилку:
"Помилка синтаксичного аналізу командного рядка: нерозпізнаний параметр '--dbpath / System / Volumes / Data / data / db' try 'mongod --help' для отримання додаткової інформації"
після створення псевдоніма це просто тому, що Девід Бак (роблячи справді корисний коментар) пропустив пробіл у своїй відповіді.
Щоб це виправити, введіть
unalias mongod
а потім введіть
псевдонім mongod = "sudo mongod --dbpath / System / Volumes / Data / data / db"
Версія Mac Каталіна зробила кореневу папку більше не доступною для запису.
Brew має оновлену версію mongodb для використання нового шляху (який він створює сам), /usr/local/var/mongodb
і дотримання цих інструкцій вирішить проблему:
Посібник із встановлення оновленого видання mongodb-community
brew install mongodb-community@VERSION
де перша ВЕРСІЯ з виправленням - 4.2
Я створюю суть з простими кроками, щоб встановити та запустити mongodb на catalina
# 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