我按照MongoDb Docs设置我的第一个MongoDb,
当我使用命令启动MongoDB时
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Run Code Online (Sandbox Code Playgroud)
ces*_*pon 122
MongoDB需要一个文件夹来存储数据库.创建C:\data\db\目录:
mkdir C:\data\db
Run Code Online (Sandbox Code Playgroud)
然后启动MongoDB:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Run Code Online (Sandbox Code Playgroud)
Mo *_*eed 58
对于macOS用户来解决此问题:
您需要执行以下步骤:
创建"db"目录.这是Mongo数据文件所在的位置.您可以通过运行以下命令在默认位置创建目录:
sudo mkdir -p /data/db
Run Code Online (Sandbox Code Playgroud)
通过运行以下命令确保/ data/db目录具有正确的权限:
sudo chown -R `id -un` /data/db
Run Code Online (Sandbox Code Playgroud)
您现在都已设置好,您可以运行/data/db以启动Mongo服务器.
来源.
小智 13
对于 macOS 用户,请注意以下问题:
如果您使用 .tgz Tarball 在 macOS 上安装 MongoDB Community
((从 macOS 10.15 Catalina 开始,Apple 限制访问 MongoDB 默认数据目录 /data/db。在 macOS 10.15 Catalina 上,您必须使用不同的数据目录,例如 /usr/local/var/mongodb。))
您可以按以下方式解决它:
(MacOS Catalina 起)
出于安全目的,Apple 在 Catalina 中创建了一个新卷。如果您使用 Catalina,则需要在 System/Volumes/Data 中创建 /data/db 文件夹。
使用这个命令:
sudo mkdir -p /System/Volumes/Data/data/db
Run Code Online (Sandbox Code Playgroud)
然后,使用此命令授予权限:
sudo chown -R `id -un` /System/Volumes/Data/data/db
Run Code Online (Sandbox Code Playgroud)
这将取代正常
sudo mkdir -p /data/db
Run Code Online (Sandbox Code Playgroud)
通过运行以下命令确保 /data/db 目录具有正确的权限:
sudo chown -R `id -un` /data/db
Run Code Online (Sandbox Code Playgroud)
完成并启动 mongoDB 后,您可以在终端中使用以下内容:
sudo mongod --dbpath /System/Volumes/Data/data/db
Run Code Online (Sandbox Code Playgroud)
小智 12
要C:\data\db在Windows中更改默认db文件夹,命令为:
--dbpath
Run Code Online (Sandbox Code Playgroud)
例如:
\mongod --dbpath C:\myfolder
Run Code Online (Sandbox Code Playgroud)
小智 6
Mac用户
而不是使用以下命令运行MongoDB:
sudo mongod
mongod如果您满足以下条件,则可以改用:
sudo chmod -R ugo+rw data如果您sudo在运行mongodb(sudo mongod)时需要使用,则意味着您对mongodb数据文件夹没有读写权限
请采取以下步骤:
正如其他朋友所说,您应该首先为要存储的数据库数据创建一个目录。这个文件夹可能是这样的:
C:\mongo 数据
从命令行导航到 mongodb 的安装位置和 mongod.exe 所在的位置。在我的情况下,完整路径是:
C:\Program Files\MongoDB\Server\3.4\bin
从这里运行 mongod.exe 并将路径传递给您在第一步中使用标志 --dbpath 创建的文件夹,如下所示:
mongod.exe --dbpath "C:\mongo-data"
请注意:如果您使用的是 Windows,则必须在上面使用双引号 ("") 才能正常运行。
通过这种方式,您将得到如下内容:
2017-06-14T12:45:59.892+0430 I NETWORK [thread1] waiting for connections on port 27017
Run Code Online (Sandbox Code Playgroud)
如果您在 Windows 上使用单引号 (' '),您将获得:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
Run Code Online (Sandbox Code Playgroud)
希望它有助于解决问题。
| 归档时间: |
|
| 查看次数: |
108369 次 |
| 最近记录: |