mongodb

简介

  • Mongodb 是一个基于分布式文件存储的NoSQL数据库

  • 由C++语言编写,运行稳定,性能高

  • 旨在为Web用用提供可拓展的高性能数据存储解决方案

  • [查看官网]: https://www.mongodb.com/

Mongodb特点

  • 模式自由:可以把不同结构的文档存储在同一个数据库
  • 面向集合的存储: 适合存储JSON风格文件的形式
  • 完整的索引支持: 对任何熟悉可索引
  • 复制和高可用性: 支持服务器之间的数据复制,支持主-从模式及服务器之间的互相复制
  • 自动分片: 支持云级别的伸缩性: 自动分片功能支持水平的数据库集群。可以动态添加额外的机器
  • 丰富的查询: 支持丰富的查询表达方式,查询指令使用JSON形势的标记,可轻易查询文档中内嵌的对象及数据组
  • 快速就地诊断: 查询优化器会分析查询表达式,并生成一个高效的查询j
  • 高效的传统存储方式: 支持二进制数据和大型对象

Package包说明

MongoDB官方源包含以下几个依赖包:

monogodb-org:MongoDB元数据表,安装时自动安装下面四个组件包:

  1. monogodb-org-server:包含MongoDB守护进程和相关的配置和初始化脚本
  2. monogdb-org-mongos:包含mongos的守护进程
  3. monogdb-org-shell:包含mongo shell
  4. mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。

Yum安装

1. 配置MongoDB的yum源

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

#添加以下内容

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

2. 安装MongoDB

安装命令

1
yum -y install mongodb-org

查看位置

1
whereis mongod

修改配置文件

1
vim /etc/mongod.conf

3. 启动MongoDB

启动mongodb

1
systemctl start mongod.service

停止mongodb

1
systemctl stop mongod.service

查看mongodb状态

1
systemctl status mongod.service

4. 常用操作

连接

1
mongo

查看数据库

1
show dbs

选择数据库

1
use admin
1
2


5. 远程访问设置

编辑mongod.conf注释bindIp,并重启mongodb

1
vim /etc/mongod.conf

注释bindIp后重启MongoDB

1
systemctl restart mongod.service

其他安装方式

rpm包安装

1
cd /usr/local/src/
1
2
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-server-4.0.8-1.el7.x86_64.rpm
yum localinstall -y mongodb-org-server-4.0.8-1.el7.x86_64.rpm

免编译安装包

https://www.mongodb.org/dl/linux/x86_64-rhel70 目录下有对应版本的MongoDB包

如下载

1
2
3
4
5
6
7
cd /usr/local/src/

wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.8.tgz

tar zxf mongodb-linux-x86_64-rhel70-4.0.8.tgz

mv mongodb-linux-x86_64-rhel70-4.0.8 /usr/local/mongodb

创建配置文件和对应数据目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mkdir /usr/local/mongodb/conf/
mkdir /usr/local/mongodb/log/
mkdir /usr/local/mongodb/data/

vim /usr/local/mongodb/conf/mongodb.conf


#bind_ip=0.0.0.0

port=27017

dbpath=/usr/local/mongodb/data

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

pidfilepath=/usr/local/mongodb/log/mongodb.pid

directoryperdb=true

logappend=true

oplogSize=1000

fork=true

启动

1
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf

添加服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vi /usr/lib/systemd/system/mongod.service

[Unit]
Description=mongodb - high performance db server
Documentation=https://docs.mongodb.com/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/mongodb/log/mongodb.pid
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载

1
2
3
4

systemctl daemon-reload
systemctl start mongod.service
systemctl status mongod.service

添加环境变量

1
PATH=$PATH:/usr/local/mongodb/bin
-------------本文结束-------------