基于CentOS7搭建mongodb(3.6.6版本)

基于CentOS7搭建mongodb(3.6.6版本)

mongodb简介

Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构很是松散,是相似json的bson格式,所以能够存储比较复杂的数据类型。Mongo最大的特色是他支持的查询语言很是强大,其语法有点相似于面向对象的查询语言,几乎能够实现相似关系数据库单表查询的绝大部分功能,并且还支持对数据创建索引。linux

mongodb特色

它的特色是高性能、易部署、易使用,存储数据很是方便。主要功能特性有:mongodb

*面向集合存储,易存储对象类型的数据。
mongodb集群参考
mongodb集群参考shell

*模式自由。数据库

*支持动态查询。json

*支持彻底索引,包含内部对象。vim

*支持查询。网络

*支持复制和故障恢复。数据结构

*使用高效的二进制数据存储,包括大型对象(如视频等)。tcp

*自动处理碎片,以支持云计算层次的扩展性。分布式

*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

*文件存储格式为BSON(一种JSON的扩展)。

*可经过网络访问。

下面为你们介绍下在CentOS7上使用yum仓库安装mongodb数据库

配置yum仓库

vim /etc/yum.repos.d/mongodb-org.repo

[mongodb-org]
name=MongoDB Repository 
 baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/   
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

配置好yum仓库以后,使用yum list 进行加载

yum list

使用yum仓库安装monggodb

yum  install -y mongodb-org

修改mongodb的配置文件

port: 27017            //监听端口
 bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.         //监听的地址修改成0.0.0.0,监听全部地址

关闭防火墙及SElinux

systemctl stop firewalld.service
setenforce 0

开启mongodb数据库服务

systemctl start mongod.service
netstat -ntap | grep 27017
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      17001/mongod

进入数据库

/usr/bin/mongo
MongoDB shell version v3.6.6
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten] WARNING: Access control is not enabled for the database.
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten]
Read and write access to data and configuration is unrestricted.
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten] WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
We suggest setting it to 'never'
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten] WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
We suggest setting it to 'never'
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]

mongodb开启多实例

cp -p /etc/mongod.conf /etc/mongod2.conf         #复制生成第二个实例的配置文件
mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongo                  #建立数据存放文件
touch mongod2.log        #建立日志文件
chmod 777 mongod2.log       #给予权限
    vim /etc/mongod2.conf     #修改第二个实例的配置文件
path: /data/mongodb/mongod2.log   #日志文件地址
dbPath: /data/mongodb/mongo     #数据文件地址
port: 27018    #监听端口
mongod -f /etc/mongod2.conf         #开启多实例
  mongo --port 27018        #指定第二个实例的端口
         >                               #这样就进入第二个实例了

mongodb基本操做

> db.version()            #查看mongodb的版本信息
 3.6.6
> show dbs;              #查看表空间
admin   0.000GB
config  0.000GB
local   0.000GB 
    > db.getMongo()        #查看当前数据库机器的链接地址和端口信息
connection to 127.0.0.1:27017
    > use school;                         #不存在会建立,不创建集合又会删除
switched to db school
    > db.createCollection('info')         #建立集合info
{ "ok" : 1 }
    > db.info.insert({"id":1,"name":"zhangsan"})                 #集合插入数据 
WriteResult({ "nInserted" : 1 })
> db.info.insert ({"name":"zhangsan","scorce":88,"hobby":["game","talk","sport"]})     #集合插入第二个数据
> db.info.find()             #查看集合info空间
{ "_id" : ObjectId("5b4cb18a472dfe3e1ca25d34"), "id" : 1, "name" : "zhangsan" }
相关文章
相关标签/搜索