MongoDb使用Code 100关闭

时间:2017-01-02 01:18:17

标签: mongodb

我按照MongoDb Docs设置我的第一个MongoDb,

当我使用命令

启动MongoDB时
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

我收到以下错误 enter image description here

19 个答案:

答案 0 :(得分:103)

MongoDB需要一个文件夹来存储数据库。创建一个C:\data\db\目录:

mkdir C:\data\db

然后启动MongoDB:

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

答案 1 :(得分:36)

对于macOS用户来解决此问题:

您需要执行以下步骤:

创建“db”目录。这是Mongo数据文件所在的位置。您可以通过运行以下命令在默认位置创建目录:

sudo mkdir -p /data/db

通过运行以下命令确保/data/db目录具有正确的权限:

sudo chown -R `id -un` /data/db

您现在已全部设置,您可以运行mongod来启动Mongo服务器。

Source

答案 2 :(得分:22)

我的Mac(使用Brew)上的相同问题使用:

解决
sudo mongod  

答案 3 :(得分:11)

要在Windows中更改默认数据库文件夹C:\data\db,命令为:

--dbpath

例如:

\mongod --dbpath C:\myfolder

答案 4 :(得分:5)

Mac用户

而不是使用:

运行MongoDB

sudo mongod

如果您:

,则可以使用mongod
  1. 找到mongodb的数据文件夹(通常是〜/ data)
  2. 使用sudo chmod -R ugo+rw data
  3. 添加读取+写入权限

    如果在运行mongodb(sudo)时需要使用sudo mongod,则表示您没有对mongodb数据文件夹的读写权限

答案 5 :(得分:3)

请采取以下步骤:

  1. 正如其他朋友提到的那样,您应首先创建一个目录,以便存储您的数据库数据。此文件夹可能类似于:

    C:\蒙戈数据

  2. 从命令行导航到已安装mongodb的位置以及mongod.exe所在的位置。就我而言,完整的路径是:

    C:\ Program Files \ MongoDB \ Server \ 3.4 \ bin

  3. 从这里运行mongod.exe并使用标志--dbpath将路径传递给您在步骤1中创建的文件夹,如下所示:

    mongod.exe --dbpath" C:\ mongo-data"

  4.   

    请注意:如果您使用的是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
    

    希望有助于解决问题。

答案 6 :(得分:2)

对于macOS用户,请注意以下问题:

如果您使用.tgz Tarball在macOS上安装MongoDB社区

((从macOS 10.15 Catalina开始,Apple限制对MongoDB默认数据目录/ data / db的访问。在macOS 10.15 Catalina上,您必须使用其他数据目录,例如/ usr / local / var / mongodb。))

您可以按以下步骤解决它:

(从MacOS Catalina开始)

为了安全起见,Apple在Catalina创建了新的Volume。如果您使用的是Catalina,则需要在系统/卷/数据中创建/ 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

答案 7 :(得分:1)

首先,您必须创建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"

-dbpath选项指向您的数据库目录。 enter image description here

连接到MongoDB。

"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"

检查所有工作是否正常:

show dbs

enter image description here

答案 8 :(得分:1)

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的端口
数 mongod --dbpath / System / Volumes / Data / data / db —端口27018。

4.b或者您可以通过找到该端口来终止该进程 的过程 须藤lsof -i:27017 然后通过命令杀死
杀死-9

5。重复步骤2和3。

答案 9 :(得分:1)

要使用mongod命令运行Mongo DB demon,您应该有一个数据库目录,可能需要运行:

mkdir C:\data\db

此外,MongoDB需要具有该目录的写权限,或者应该使用超级用户权限运行,例如sudo mongod

答案 10 :(得分:0)

MacOS 中: -

如果您在运行mongo服务器时忘记提供以前创建的数据库的路径,则会出现上述错误。

sudo ./mongod --dbpath ../../ mongo-data /

Reference

注意: - ./mongod&& ../../mongo-data是相对路径。 因此,您可以通过环境变量

中的配置来避免它

Reference

答案 11 :(得分:0)

对于Windows 我遇到了同样的问题。

修复是 - 我需要以管理员身份运行命令行。

答案 12 :(得分:0)

如果您已经有了目录,请检查dir权限或尝试使用sudo重新启动mongo。 sudo brew服务启动mongodb

答案 13 :(得分:0)

当我尝试启动mongodb时(在Mac OS上),我一直收到以下错误消息。

var result = ADC.Friends.Include(f => f.ApplicationUser);

我正在使用以下命令:

SELECT DISTINCT
 u2.email as friend_email
FROM users u
INNER JOIN user_relations r 
  ON (r.requestor_user_id = u.user_id OR r.receiver_user_id = u.user_id) 
INNER JOIN users u2
 ON (r.requestor_user_id = u2.user_id OR r.receiver_user_id = u2.user_id)
     AND u2.user_id <> u.user_id
WHERE u.email ='andy@example.com'
      AND r.friend_status = 1 

对我来说,解决方法是我不需要“ =”符号,这会导致错误。所以我做到了

"shutting down with code:100"

只是想把它扔在那里,因为错误绝不表明这是问题所在。我几乎删除了〜/ mongo-data目录的内容,以查看是否有帮助。很高兴,我记得cli参数有时不使用“ =”符号。

答案 14 :(得分:0)

在我的情况下,我遇到了类似的错误,并且由于我用root用户运行mongod并创建了只能由root用户访问的日志文件而发生。我可以通过将所有权从root更改为通常从其运行mongod的用户来解决此问题。日志文件位于/ var / lib / mongodb / journal /

答案 15 :(得分:0)

如果您使用的是Virtualbox,请检查您的VM。

docker-machine ssh

df -h

如果没有足够的可用空间,请查看dev / sda1,这可能是由于大量图像或容器引起的。您可以使用“ docker rm”和“ docker rmi”将其删除

答案 16 :(得分:0)

如果您要更改MongoDB版本并且数据目录不兼容(例如降级),也会给出此退出代码。将旧目录移动到其他位置,然后创建一个新目录(按照其他答案中给出的说明)。

答案 17 :(得分:0)

Aravind。

这也发生在我身上,因为我通过任务管理器停止了MongoDB。

创建 C:\ data \ db 文件夹并在 C:\ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe 中启动MongoDB的工作原理正如cespon所建议的那样,但是MongoDB没有显示我以前创建的任何数据库。

然后,删除 C:\ data \ db 文件夹,并使用MongoDB安装程序修复安装,我恢复了数据并正常启动了MongoDB。

(我是MongoDB的新手,但它帮助我解决了此问题并恢复了可能预览的数据)。

答案 18 :(得分:0)

键入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/