MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库

mysql和mongodb区别

mysql:        关系型数据库。

                   在不同的引擎上有不同 的存储方式。

                   查询语句是使用统的sql语句,拥有较为成熟的体系,成熟度很高。

                   开源数据库的份额在不断增加,mysql的份额页在持续增长。

                   缺点就是在海量数据处理的时候效率会显著变慢

mongodb:  非关系型数据库(nosql ),属于文档型数据库。文档的数据库,即可以存放xml、json、bson类型系那个的数据。

                   这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。

                   存储方式:虚拟内存+持久化。

                   查询语句:是独特的Mongodb的查询方式。

                   适合场景:事件的记录,内容管理或者博客平台等等。

                   架构特点:可以通过副本集,以及分片来实现高可用。

                   数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。


实验环境

centos6.9_x64

mongodb_master  192.168.1.12

mongodb_slave     192.168.1.14


实验软件

mongodb-linux-x86_64-rhel62-3.4.0.tgz


软件安装

touch  /etc/yum.repos.d/mongodb-org-3.2.repo

cat   /etc/yum.repos.d/mongodb-org-3.2.repo

[mongodb-org-3.2]  

name=MongoDB Repository  

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/  

gpgcheck=0  

enabled=1  

yum clean all

yum makecache -y

yum install -y mongodb-org                      yum安装mogodb,主要介绍源代码安装


tar zxvf /root/mongodb-linux-x86_64-rhel62-4.0.1.tgz 

mv /root/mongodb-linux-x86_64-rhel62-4.0.1  /usr/local/mongodb

mkdir -p /usr/local/mongodb/data

mkdir -p /usr/local/mongodb/data/db

mkdir -p /usr/local/mongodb/data/logs

touch /usr/local/mongodb/data/logs/mongodb.log


cat /usr/local/mongodb/data/mongodb.conf              mongodb_master配置,源代码安装默认没有配置文件

port = 27017        端口号

bind_ip = 192.168.1.12  监听端口  

dbpath =  /usr/local/mongodb/data/   数据目录

logpath = /usr/local/mongodb/data/logs/mongodb.log 日志目录

logappend = true   日志输出格式

fork = true    后台启动

journal = true   

auth = true     开启验证

master = true   确定mongodb 主服务器


cat /usr/local/mongodb/data/mongodb.conf                   mongodb_slave 配置

port = 27017

bind_ip = 192.168.1.14

source = 192.168.1.12:27017

dbpath =  /usr/local/mongodb/data/

logpath = /usr/local/mongodb/data/logs/mongodb.log

fork = true

logappend = true

auth = true

journal = true 

slave = true


touch /etc/init.d/mongodb  && chmod +x /etc/init.d/mongodb       创建启动脚本

cat /etc/init.d/mongodb 

#/bin/bash

#chekconfig: 2345 80 90

#description: mongodb


start() {

 /usr/local/mongodb/bin/mongod  --daemon  --config /usr/local/mongodb/data/mongodb.conf 

}

stop() {

  /usr/local/mongodb/bin/mongod  --daemon  --config /usr/local/mongodb/data/mongodb.conf --shutdown

}

case "$1" in

  start)

 start

 ;;

  stop)

 stop

 ;;

   status)

  netstat -tulnp|grep mongod

  ;;

  restart)

 stop

 start

 ;;

  *)

 echo $"Usage: $0 {start|stop|restart}"

 exit 1

esac

scp -p密码 /etc/init.d/mongodb  root@192.168.1.14:/etc/init.d/

scp  -p密码  /usr/local/mongodb/data/mongodb.conf  root@192.168.1.14:/usr/local/mongodb/data/  master端配置复制配置文件脚本 到 slave机器

service mongodb  start/restart/stop


ps -ef | grep mongo

root      3173     1  2 09:30 ?        00:00:00 /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/data/mongodb.conf

root      3191  2991  0 09:30 pts/1    00:00:00 grep mongo

netstat -tuplna | grep 27017

tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      3173/mongod   以上操作master端操作