MongoDB介绍MongoDB是一个NoSQL数据库,在数据存储形式上与MySQL等关系型数据库有本质区别。MongoDB存储的基本对象是Document,所以我们称之为文档数据库,文档的集合构成了Collection。类比SQL的概念,Collection对应Table,Document对应Row。Document使用一种BSON(BinaryJSON)结构来表达,JSON大家都很熟悉,如下。MongoDB应用场景游戏场景:使用MongoDB存储游戏用户信息,用户装备、积分等直接以嵌入式文档的形式存储,方便查询和更新物流场景:使用MongoDB存储订单信息,订单状态将在交付过程中不断更新。它以MongoDB的嵌入式数组的形式存储,一次查询就可以读出订单的所有变化。社交场景:使用MongoDB存储用户信息,以及用户发布的朋友圈信息,通过地理位置索引实现附近的人和地点其他功能物联网场景:使用MongoDB存储所有连接的智能设备信息,以及设备上报的日志信息,并对这些信息进行多维分析视频直播:使用MongoDB存储用户信息,礼物信息等MongoDB安装MongoDB安装方式比较简单,因为源码安装比较麻烦的是,我们的初衷只是为了学习MongoDB,而yum的傻瓜式安装是为了让现在学习起来更简单,本文使用yum来安装。工具:VMware版本号:12.0.0CentOS版本:7.0注:MongoDB3.4版本不再提供32位平台(Linux和Windows)的商业支持,本文安装的版本为3.4查看自己的Linux版本:uname–ax86_64表示64位机i686表示32位机整个MongoDB(社区版)包括以下软件包含mongoshell,是一个连接mongodb的命令行客户端,允许用户直接输入nosql语法来管理数据库mongodb-org-shell#MongoDB包含以下工具:数据导入、导出、备份、恢复等mongodb-org-toolscreateyumsourcefilevim/etc/yum.repos.d/mongodb-org-3.4.repo将以下内容复制到源文件中[mongodb-org-3.4]name=MongoDBRepositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc启动yum命令来开始安装yuminstall-ymongodb-org如果使用SELinux,则必须配置SELinux以允许MongoDB在基于RedHatLinux的系统(RedHatEnterpriseLinux或CentOSLinux)上启动vim/etc/selinux/config设置SELINUXvaluetodisabled启动Mongodb(Mongodb服务器默认连接端口为27017)#Centos6启动$servicemongodstart#Centos7启动$systemctlstartmongod查看netstat-tlnup|grep是否启动查看mongod是否占用27017端口号netstat-tlnup|grep27017其他控制命令#停止Mongodb服务$servicemongodstop#重启Mongodb$servicemongodrestartsetbootstartchkconfigmongodonfindMongoDBclientfind/-namemongoconnectionclient/usr/bin/mongo,输入测试命令showdbs查看当前数据库,停止MongoDB服务器,可以使用Ctrl+c或者输入exit退出MongoDB界面注意:进入MongoDB界面会出现警告服务器有启动警告:2017-03-30T06:40:26.039+0800ICONTROL[initandlisten]2017-03-30T06:40:26.039+0800ICONTROL[initandlisten]**WARNING:Access数据库未启用控制。2017-03-30T06:40:26.039+0800ICONTROL[initandlisten]**对数据和配置的读写访问不受限制。2017-03-30T06:40:26.039+0800ICONTROL[initandlisten]2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]**警告:/sys/kernel/mm/transparent_hugepage/enabled'always'.2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]**我们建议设置为'never'2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]**警告:/sys/kernel/mm/transparent_hugepage/defrag是“始终”。2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]**我们建议将其设置为'never'2017-03-30T06:40:26.040+0800ICONTROL[initandlisten]这是因为没有配置MongoDB的安全功能,比如授权认证。当然如果只是为了学习可以忽略,但是生产环境是必须要配置的。
