我正在尝试在主目录中创建一个新文件夹
尝试了各种例子
sudo mkdir /data/db
sudo mkdir -p /data/db
我不断
mkdir:/ data:只读文件系统
我正在尝试在主目录中创建一个新文件夹
尝试了各种例子
sudo mkdir /data/db
sudo mkdir -p /data/db
我不断
mkdir:/ data:只读文件系统
Answers:
如果您拥有Mac并已更新到Catalina,则根文件夹不再可写。
我只是在其他地方更改了目录。
暂时使用此命令
mongod --dbpath=/Users/user/data/db
来自官方文档https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/
安装自制程序并运行以下命令
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 shell中运行
mongodb-community
未安装公式。您必须启动:Brew服务启动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
您的终端,它应该可以工作。
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的答案与此文件夹结合在一起。非常感谢,这让我发疯。
永久更改mongoddb
文件夹的路径。
在阅读这些文档后,他们大致会这样说。如果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
保存文件并使用brew重新启动mongod:
$ brew services restart mongodb-community@4.2
因此,为了安全起见,Apple使用macOS Catalina创建了新的Volume。如果您使用的是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文件夹(如果要备份当前数据库)移至非根文件夹,然后继续下一步
在终端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符号>。
请让我知道是否可行;)根据本文,我花了将近2个小时才弄清楚了:https : //apple.stackexchange.com/questions/362883/mongodb-doesnt-work-after-update-to -macos-catalina-10-15
干杯,拉杜
您无法创建/data/
目录。这是为APFS文件系统保留的。有关此问题,请查看Bombich的博客。
我不知道为什么苹果要这样做。这只是没有任何意义,使用root特权创建的人这些文件夹知道他们在做什么
要添加David Buck在这里写的内容,首先必须实际创建目录。您可以执行以下操作:
sudo mkdir /系统/卷/数据/数据/ db
如果出现此错误:
“错误分析命令行:无法识别的选项'--dbpath / System / Volumes / Data / data / db'尝试'mongod --help'以获取更多信息”
创建别名后,这仅仅是因为David Buck(在发表真正有用的评论时)在答案中漏了一个空格。
要解决此问题,请键入
Unalias mongod
然后输入
别名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