【问题标题】:Difference between "mongo" and "mongod"?“mongo”和“mongod”的区别?
【发布时间】:2019-10-30 17:17:16
【问题描述】:

我已经安装了MongoDB,发现了一些不合逻辑的东西,希望有人回答我:

  1. 当我执行“mongo”时,我会登录到 shell
  2. 当我执行“mongodb”时,出现以下错误:

     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] MongoDB starting : pid=7221 port=27017 dbpath=/data/db 64-bit host=debian
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] db version v3.2.7
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] git version: 
     4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1t  3 May 2016
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] allocator: tcmalloc
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] modules: none
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten] build environment:
     2016-06-23T22:58:39.302+0000 I CONTROL  [initandlisten]     distmod: debian71
     2016-06-23T22:58:39.303+0000 I CONTROL  [initandlisten]     distarch: x86_64
     2016-06-23T22:58:39.303+0000 I CONTROL  [initandlisten]     target_arch: x86_64
     2016-06-23T22:58:39.303+0000 I CONTROL  [initandlisten] options: {}
     2016-06-23T22:58:39.325+0000 E NETWORK  [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
     2016-06-23T22:58:39.325+0000 E NETWORK  [initandlisten]   addr already in use
     2016-06-23T22:58:39.325+0000 E STORAGE  [initandlisten] Failed to set up sockets during startup.
     2016-06-23T22:58:39.325+0000 I CONTROL  [initandlisten] dbexit:  rc: 48
    

两个终端命令有什么区别:第一个是mongo,第二个是mongodb?

MongoDB 很棒,因为我的项目没有架构,但配置它、创建角色、授权等总是一种可怕的体验。

谢谢。

【问题讨论】:

  • mongod 用于数据库,mongo 用于 mongo 命令行

标签: mongodb


【解决方案1】:
  • mongod 是服务器,例如传递连接数据库的请求。
  • 在上述错误中,表明端口地址 27017 正在使用中。这意味着您的 mongod 已经在运行。您只需要运行命令 'mongo' 即可访问 Mongodb shell。
  • 还有另一种可能是其他进程正在端口 27017 上运行
  • netstat -n | grep 27017 检查进程是否正在运行,kill -9 $(lsof -ti:27017)'

【讨论】:

  • 感谢您的回答。当我执行“mongodb”时,会出现很多错误。我应该担心吗,因为我可以使用“mongo”登录。现在它返回** WARNING: soft rlimits too low. rlimits set to 7982 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files.˙ Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'` Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data' waiting for connections on port 27017
【解决方案2】:

要使用任何数据库服务,您必须启动数据库服务器,mongodb也是如此,命令mongod用于在您的本地机器或服务器上启动MongoDB服务器。

在您的问题中,您要求的命令 mongodb 不正确,您需要运行命令 mongod,'b' 不是此命令的一部分。

  • 当你运行mongod时,它会默认启动你的mongodb服务器 端口 27017。
  • 然后你打开另一个终端,使用命令mongo进入 进入 mongo shell 并执行数据库操作。

这两个命令的区别在于mongod 启动 mongodb 服务器和mongo 允许您进入 mongo shell 以 执行进一步的数据库操作。

此外,当您安装 mongodb 时,您可以选择将其安装为服务。将 mongodb 安装为服务会在您启动系统时在后台启动 mongodb 服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多