首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【进阶之路六】“吃芒果”

各位小伙伴,周一快乐!

今天我们要一起来探讨如何“啃”第一口芒果

上期课程我们简单介绍了MongoDB的一些特性和好处,今天我们共同来探讨如何安装一个MongoDB

我们首先来看MongoDB的官方系统架构:

很简单,一个MongoDB的主程序,外带一个compass图形化管理界面,另外这个数据库官方给出了Windows版的和Linux版的。

在这里常老师强烈建议使用Linux版的数据库,原因如下:

对于数据分析和计算这么“繁重”的工作,Windows动不动就会给你抛出个异常,心情不好会直接重启(常老师亲身体会)

不得不说,MongoDB的Windows版实在是,实在是,坑!我安装了无数个Windows环境(2008R2、10等)会要一堆运行环境(例如:C++ Redis等)好不容易找到了对应的版本,MongoDB如果在安装的时候直接勾选安装compass,会卡在75%左右的时候不动!!不动啊,兄弟们知道什么概念吗?第一次安装的时候我还以为是我电脑配置不够啊!坑不坑?

在你安装完这个数据库的时候,你会发现,你根本找不到像MSSQL这样的启动入口,全部需要通过CMD来进行命令行启动和配置啊,Windows最大的优势就是图形化,既然没了图形化,为什么要在Windows下运行呢?给我个理由先?

So,常老师强烈建议直接安装在Linux下,Linux下的安装可以用行云流水般顺畅来形容。好,下面我们来看,如何安装在Linux下。

我知道大家的电脑多数都是Windows系统,或者是MAC系统,生产系统使用Linux的没多少,除非是大神,那么,首先我们要做的就是在Windows系统或者MAC系统上安装一个虚拟机,这个虚拟机环境允许你在当前操作系统下安装另外一个独立的操作系统,虚拟机环境有不少,这里面我们使用Vmware Workstation(这个软件是需要商业授权的,我不会告诉你们在哪里能找到序列号,你们懂的)

VMware的安装过程我就不赘述了,网上有很多关于它的安装过程,比较简单。

安装完VMware之后,我们还要再VMware上安装我们的Linux系统,今天我选择的Linux是Redhat6.X,MongoDB官方文档上要求最新版数据库使用Redhat 7.X,但是我用6.X也很完美,至今没有出现过什么问题,如果你手边没有Redhat,那就直接下载一个7.X版本比较好。

OK,安装完RH之后(RH的安装我也不赘述了,网上有很多,我们主要是讲数据库),我们去MongoDB官网下载MongoDB for Redhat。下载好之后,我们可以通过SFTP上传到RH中,比如我上传的路径是:

我们可以看到现在这个文件夹里面有一个文件(就是我们之前下载好的文件):

下面,我们使用命令将其解包

之后我们会得到一个同名的文件夹

这个文件夹就是数据库的主文件集,里面的文件是这样的

我们进入bin文件夹

我们可以看到这里面有很多可执行脚本,其中mongod就是我们启动数据库的脚本,下面我们试着启动一下:

貌似有问题,什么问题呢?我们可以看到,没有指定数据文件路径,也就是说,我们现在启动的是数据库,但是数据库需要知道数据文件都在哪里,所以我们在启动的时候需要指定数据文件的路径,常老师的数据文件陆警官是/db你们的Linux中默认是不会有这个文件夹的,所以我们使用mkdir /db这个命令进行创建,之后我们就可以使用参数启动数据库了:

好了,当你看到最后提示:[initandlisten] waiting for connections onport 27017的时候,说明数据库正常启动了,监听端口为27017,这也是MongoDB默认的端口,可以修改。

OK,至此,我们已经成功的启动了数据库并指定了数据文件。

那我们怎么使用它呢?当然,我们可以使用命令行(CLI)模式操作数据库,但是吧,还是不够直观,我们还是希望能有一个图形化的界面来操作数据库。

好吧,我们可以在你的Windows系统或者MAC系统下安装一个compass(图形化操作界面,MongoDB官网有独立安装包)

安装好之后,我们就可以连接“远程”数据库了:

IP地址需要填写你虚拟机的实际IP地址,我们点击连接,会发现什么呢?

提示数据库没有运行在指定的主机和端口,80%的小伙伴会看到这个错误提示,这是什么原因呢?可能有如下两个:

第一,你的RH系统默认启动了iptables(Linux下的防火墙),我们由于是在学习阶段,可以不添加防火墙规则,直接使用serviceiptables stop关掉

第二,我们刚才启动数据库的时候,没有添加数据库监听的地址,默认情况下,数据库为了自身安全,只接受localhost的连接,也就是本地机器连接,虽然我们现在都在同一个电脑上运行两个系统,但是对于本机系统和Linux来说就是一个远程网络组成的两套独立的系统,所以我们启动数据库的时候需要添加另外一个参数:

这样就会接受所有远端访问IP来访问数据库了

PS.严禁在生产环境这么做,第一,默认的MongoDB没有用户名密码认证;第二,不能允许所有IP地址连接,这是保护你数据的第一道防线。

OK,这时候我们再使用compass连接一下:

我们可以看到,已经连接成功了!

好了,今天的课程就到这,大家再配置环境的时候有任何问题留言给我,我会一一解答,谢谢!

-------------------------------------------------

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180129G08UZO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券