【环境配置】Mac安装MongoDB问题



  • 我的电脑是Mac,Tutorial视频电子书课前预习中的安装教程不是很一样,有几个问题。

    根据电子书课前预习给出的安装步骤

    1. 通过homebrew安装,mkdir –p /data/db创建存放数据的文件夹
    2. 输入sudo mongod来开启mongoDB
    3. 访问http://localhost:27017/,看到以下文字:
      It looks like you are trying to access MongoDB over HTTP on the native driver port.

    Q1: 是否可以默认安装成功?
    Q2: 创建存放数据的文件夹的路径是?
    Q3: 如何算是打开mongoDB的shell?

    根据Tutorial视频中给出的安装步骤

    1. 下载安装文件,解压缩并放入某个文件夹,创建数据文件夹
    2. 连接数据文件夹和mongoDB时,进行图片所示代码操作:
      Q4:可是出错了是什么原因呢?
      alt text


  • 貌似port已经被占用么



  • @Liyuan_Zhang【环境配置】Mac安装MongoDB问题 中说:

    我的电脑是Mac,Tutorial视频电子书课前预习中的安装教程不是很一样。

    两种安装方式都可以. 可以选一种方式安装 =)


    根据电子书课前预习给出的安装步骤

    1. 通过homebrew安装,mkdir –p /data/db创建存放数据的文件夹
    2. 输入sudo mongod来开启mongoDB
    3. 访问http://localhost:27017/,看到以下文字:
      It looks like you are trying to access MongoDB over HTTP on the native driver port.

    Q1: 是否可以默认安装成功?

    A1: 如果访问http://localhost:27017/ 看到了文字, 可以默认安装成功
    PS: 其实不使用sudo 应该也可以, 因为homebrew默认安装在/usr/local/. 它所安装的所有东西应当都是owned by the user. 所以应当直接输入mongo既可以启动.


    Q2: 创建存放数据的文件夹的路径是?

    A2: 如步骤1中所说:

    mkdir –p /data/db创建存放数据的文件夹

    数据存放的文件夹mongodb 默认是/data/db, 这也是为什么在教程中我们创建了这个文件夹; 你可以通过--dbpath 来指定不同的文件夹. 比如 mongod --dbpath ~\my_awesome_db_files 即为让mongodb 启动, 并且使用~\my_awesome_db_files作为存放数据的文件夹.


    Q3: 如何算是打开mongoDB的shell?**

    A3:

    1. 如果使用了homebrew安装, 可以直接输入mongo. 当然, 在那之前, 本地必须先启动了mongodb (即 mongod);
    2. 我们可以在一个shell/terminal里面输入mongod, 然后在另外一个shell/terminal, 输入mongo来启动mongoDB的shell.
    3. 如果你在没有启动mongodb的时候, 试图启动mongodb的shell, 你大概会得到这样的错误:

    3497:nodejs_crawler doe$ mongo
    MongoDB shell version: 3.2.1
    connecting to: test
    2016-09-10T21:46:53.627-0700 W NETWORK [thread1] Failed to connect to >127.0.0.1:27017, reason: errno:61 Connection refused
    2016-09-10T21:46:53.628-0700 E QUERY [thread1] Error: couldn’t connect to server >127.0.0.1:27017, connection attempt failed :
    connect@src/mongo/shell/mongo.js:224:14
    @(connect):1:6

    exception: connect failed


    根据Tutorial视频中给出的安装步骤

    1. 下载安装文件,解压缩并放入某个文件夹,创建数据文件夹
    2. 连接数据文件夹和mongoDB时,进行图片所示代码操作:
      Q4:可是出错了是什么原因呢?
      alt text

    A4: 从你的帖子上看, 貌似你是同时使用了两种方法安装; 从你贴出的error来看, 出错的原因是mongodb默认的address 0.0.0.0:27017 已经被占用. 因此我怀疑出错的原因是你先使用了homebrew安装, 安装成功以后在一个shell/terminal内已经启动了mongodb (即已经输入了mongod), 然后同时再使用第二种方法安装, 并在另外一个shell/terminal内输入了mongod, 因此第二个mongodb会说 “不好意思啊, 这个port已经被占用了” =)

    • 如果我描述的符合你的情况, 解决方法很简单: 只启动一个mongodb 即可.
    • 如果我的描述不符合你的情况, 大致有两种方法解决:
    1. 找到哪个坏家伙占用了 0.0.0.0:27017, 如果他不重要的话, 把他干掉, 或者让他挪窝
    2. 让我们的mongodb使用另外一个port, 你可以使用mongod --port 12345 告诉mongod使用port 12345.

    你可能会疑惑的问题:
    同时使用了这两种方法安装, 有问题吗?
    回答:
    我认为应该没有问题, 因为第二种方法只是启动了下载的文件夹中的mongodb, 而并没有对系统有任何变动. 直接使用两种方法中的一种安装的mongodb即可.

    当然, 我只是由你帖子中的线索推断问题所在, 可能你遇到的问题和我所描述的不符. 欢迎office hour一起交流. 希望我的回答对你有帮助. =)



  • 谢谢助教!解答好详细,根据您的指导问题已解决。因为电脑在发完这个帖子不久就坏掉了,回复有些迟,不好意思。



  • @Liyuan_Zhang 不客气!


 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待