“mongo”和“mongod”之间的区别?

Ned*_*dim 5 mongodb

我已经安装了 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
    
    Run Code Online (Sandbox Code Playgroud)

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

MongoDB 很棒,因为我的项目是无模式的,但配置它、创建角色、授权等总是很糟糕的体验。

谢谢。

Tus*_*har 4

  • mongod 是服务器,例如连接数据库的请求将被传递到该服务器。
  • 在上面的错误中,它表明端口地址27017正在使用中。这意味着你的 mongod 已经在运行了。您只需要运行命令“mongo”即可访问 Mongodb shell。
  • 还有一种可能是其他进程正在端口 27017 上运行
  • netstat -n | grep 27017检查进程是否正在运行以及kill -9 $(lsof -ti:27017)'