我遵循了MongoDb文档来设置我的第一个MongoDb,
当我使用命令启动MongoDB时
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Answers:
MongoDB需要一个文件夹来存储数据库。创建C:\data\db\
目录:
mkdir C:\data\db
然后启动MongoDB:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
C:\data\db
由于先前的安装,有时文件夹已经存在。因此,如果由于这个原因mongod.exe
不起作用,则可以从C:\data\db
文件夹中删除所有内容,然后mongod.exe
再次执行。
/mongodb_data/db
为macOS用户解决此问题:
您需要执行以下步骤:
创建“ db”目录。这是Mongo数据文件所在的位置。您可以通过运行以下命令在默认位置创建目录:
sudo mkdir -p /data/db
/data/db
通过运行以下命令,确保目录具有正确的权限:
sudo chown -R `id -un` /data/db
现在您已经sudo mongod
准备就绪,可以运行以启动Mongo服务器。
如果仅运行,则不起作用 mongod
来源。
mkdir: /data/db: Read-only file system
在运行第一个命令时得到。我该如何解决?谢谢。
我的Mac(使用Brew)在Mac上的同一问题使用以下方法解决:
sudo mongod
请采取以下步骤:
就像其他朋友提到的那样,您应该首先创建一个目录来存储数据库数据。该文件夹可能类似于:
C:\ mongo-data
从命令行导航到安装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
如果在Windows上使用单引号(''),则会得到:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
希望它有助于解决问题。
要使用mongod
命令运行Mongo DB守护程序,您应该有一个数据库目录,可能需要运行:
mkdir C:\data\db
另外,MongoDB需要对该目录具有写权限,否则它应以超级用户权限(如)运行sudo mongod
。
首先,您必须创建MongoDB存储数据的数据目录。MongoDB的默认数据目录路径是启动MongoDB的驱动器上的绝对路径\ data \ db。
如果已安装在C:/驱动器中,则必须创建data \ db目录。在cmd中执行此运行命令
C:\>mkdir data\db
要启动MongoDB,请运行mongod.exe。
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"
连接到MongoDB。
"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"
检查所有工作是否良好:
show dbs
1.如果显示错误(使用代码100关闭),则表明它找不到所需的文件位置。
1.a如果在macOS Catalina之前,请使用sudo mkdir -p / data / db创建目录,并授予使用
sudo chown -R id -un
/ data / db的权限。
1.b如果它是macOS Catalina之前的版本,则使sudo mkdir -p / System / Volumes / data / db并赋予其权限sudo chown -R id -un
/ System / Volumes / data / db。
2.启动mongo db brew服务运行mongodb-community
3.输入mongod或mongod --dbpath / System / Volumes / Data / data / db
4,如果mongod显示错误(使用代码48关闭),则
表明该端口已被使用,因此您可以做两件事
4.a通过指定端口
号mongod --dbpath / System / Volumes / Data / data / db —端口27018来更改mongod的端口。
4.b或者,您可以通过sudo lsof -i:27017查找进程来终止该端口上的进程,然后通过命令
kill -9终止进程
5,重复步骤2和3。
对于macOS用户,请注意以下问题:
如果您使用.tgz Tarball在macOS上安装MongoDB Community
(((从macOS 10.15 Catalina开始,Apple限制了对/ data / db的MongoDB默认数据目录的访问。在macOS 10.15 Catalina上,必须使用其他数据目录,例如/ usr / local / var / mongodb。)
您可以通过以下方法解决它:
(MacOS Catalina起)
为了安全起见,Apple在Catalina中创建了一个新Volume。如果您在Catalina上,则需要在System / Volumes / Data中创建/ data / db文件夹。
使用此命令:
sudo mkdir -p /System/Volumes/Data/data/db
然后,使用此命令授予权限:
sudo chown -R `id -un` /System/Volumes/Data/data/db
这将取代正常
sudo mkdir -p /data/db
通过运行以下命令,确保/ data / db目录具有正确的权限:
sudo chown -R `id -un` /data/db
完成并启动mongoDB后,您可以在终端中使用以下命令:
sudo mongod --dbpath /System/Volumes/Data/data/db
就我而言,我遇到了类似的错误,这是因为我用root用户运行mongod而创建了只能由root访问的日志文件。我可以通过将所有权从root更改为通常从其运行mongod的用户来解决此问题。日志文件位于/ var / lib / mongodb / journal /
如果您正在使用Virtualbox,请检查您的VM。
docker-machine ssh
df -h
如果没有可用空间,请查看dev / sda1,这可能是由于大量图像或容器引起的。您可以使用“ docker rm”和“ docker rmi”将其删除
阿拉文
我也发生了这件事,因为我通过任务管理器停止了MongoDB。
正如cespon所建议的那样,创建C:\ data \ db文件夹并在C:\ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe中启动MongoDB对我有用,但是MongoDB没有显示我的任何数据库以前创建的。
然后,删除C:\ data \ db文件夹并使用MongoDB安装程序修复安装,我恢复了数据并正常启动了MongoDB。
(我是MongoDB的新手,但它帮助我解决了这个问题并恢复了可能预览的数据)。
输入mongod并出现错误
错误:
initAndListen中的异常:NonExistentPath:找不到数据目录/ data / db。
使用代码100关闭
然后尝试(具有所有权限创建数据和db文件夹)
mongod --dbpath = /数据
使用新标签并输入mongo。
如果仍然面临问题,则可以检查mac catalina:(https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/)
对于Windows:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/
C:\data\db\
未找到目录。使用:mkdir C:\data\db