linux运维、架构之路-MongoDB单机部署

1、MongoDB介绍

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

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

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档相似于 JSON 对象。字段值能够包含其余文档,数组及文档数组。数据库

2、主要特色

  • MongoDB 是一个面向文档存储的数据库,操做起来比较简单和容易。
  • 能够在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
  • 能够经过本地或者网络建立数据镜像,这使得MongoDB有更强的扩展性。
  • 若是负载的增长(须要更多的存储空间和更强的处理能力) ,它能够分布在计算机网络中的其余节点上这就是所谓的分片。
  • Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • MongoDb 使用update()命令能够实现替换完成的文档(数据)或者一些指定的数据字段 。
  • Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操做。
  • Map和Reduce。Map函数调用emit(key,value)遍历集合中全部的记录,将key与value传给Reduce函数进行处理。
  • Map函数和Reduce函数是使用Javascript编写的,并能够经过db.runCommand或mapreduce命令来执行MapReduce操做。
  • GridFS是MongoDB中的一个内置功能,能够用于存放大量小文件。
  • MongoDB容许在服务端执行脚本,能够用Javascript编写某个函数,直接在服务端执行,也能够把函数的定义存储在服务端,下次直接调用便可。
  • MongoDB支持各类编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  • MongoDB安装简单

3、MongoDB部署

一、安装所需依赖

yum install libcurl openssl

二、下载源码包

下载地址: https://www.mongodb.com/download-center?jmp=nav#community

三、建立所需目录

mkdir -p /app/mongodb4.0/{install,logs,conf,data}

四、上传解压 mongodb-linux-x86_64-4.0.0.tgz 至 /app/mongodb4.0/install目录下

tar xf mongodb-linux-x86_64-4.0.0.tgz -C /app/mongodb4.0/install/

五、建立MongoDB配置文件、日志文件

touch /app/mongodb4.0/logs/mongodb.log
touch /app/mongodb4.0/conf/mongodb.conf

六、编辑mongodb.conf

port=27017
fork=true
logpath=/app/mongodb4.0/logs/mongodb.log
#logappen=true
dbpath=/app/mongodb4.0/data
auth=false

七、启动MongoDB

/app/mongodb4.0/install/bin/mongod -f /app/mongodb4.0/conf/mongodb.conf

八、配置MongoDB

①进入MongoDB命令模式

/app/mongodb4.0/install/bin/mongo 127.0.0.1:27017

②建立数据库

use demon

③建立用户管理员

在admin数据库中添加具备userAdminAnyDatabase角色的用户编程

use admin
db.createUser({user:"admin",pwd:"admin",roles:[{role:"readWrite",db:"demon"}]});
db.createUser({user:"admin",pwd:"admin",roles:[{role:"readWriteAnyDatabase",db:"demon"}]});

九、中止MongoDB

/app/mongodb4.0/install/bin/mongod -f /app/mongodb4.0/conf/mongodb.conf -shutdown

十、编辑mongodb.conf   auth=true

/app/mongodb4.0/install/bin/mongod -f /app/mongodb4.0/conf/mongodb.conf

十一、使用上面建立的用户登陆MongoDB

/app/mongodb4.0/install/bin/mongo --port 27017 -u "admin" -p "admin" --authenticationDatabase "admin"

4、开发MongoDB启动脚本

一、编写脚本

#!/bin/bash
# chkconfig: - 98 21
Mongod_Path="/app/mongodb4.0/install/bin/mongod"
Mongod_Conf="/app/mongodb4.0/conf/mongodb.conf"

usage() {
    echo "usage: $0 [start|stop|restart]"
}


start_Mongod() {
   $Mongod_Path -f $Mongod_Conf
   echo "Mongodb is starting"
}

stop_Mongod() {
   $Mongod_Path -f $Mongod_Conf --shutdown
   echo "Mongodb is stopped"
}


main() {
case $1 in
    start)
         start_Mongod;;
    stop)
         stop_Mongod;;
    restart)
         stop_Mongod && start_Mongod;;
    *)
         usage;
esac
}
main $1

二、授予脚本可执行权限

chmod +x /etc/init.d/mongod
chkconfig --add mongod

三、启动、中止、从新MongoDB服务

/etc/init.d/mongod start
/etc/init.d/mongod stop
/etc/init.d/mongod restart

5、MongoDB数据库的相关操做


> show dbs;                        #查看当前实例下的数据库
> show databases;             #兼容关系型数据库MySQL命令
> use local;                         #切换数据库local
> show collections;            #查看数据库local的集合
> show tables;                    #兼容关系型数据库MySQL命令
经常使用的操做以下:数组

相关文章
相关标签/搜索