mongodb安装详解

mongDB的介绍

MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”),MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。作为一个适用于敏捷开发的数据库,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。
MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能;

MongoDB已经在多个站点部署,其主要场景如下:
1)网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
2)缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
3)高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线中已经包含对MapReduce引擎的内置支持。
不适用的场景如下:
1)要求高度事务性的系统。
2)传统的商业智能应用。
3)复杂的跨文档(表)级联查询。

mongoDB的安装

mongoDB的官网
mongoDB中文网

实验环境:
redhat7系统,防火墙和selinux处于关闭状态;

安装包介绍:
mongodb-org:自动安装包含以下四个组件
mongodb-org-server:包含mongodb的守护进程和相关配置文件和init的脚本
mongodb-org-mongos:包含mongodb的守护进程
mongodb-org-shell:包含mongo的shell.
mongodb-org-tools :包含mongodb的工具:mongoimport,bsondump,mongodump,mongoexport,mongofiles,mongorestore, mongostat,and mongotop

安装方法一:在线安装

1. 首先配置yum源:(/etc/yum.repo.d/yum.repo)
[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:
yum install -y mongodb-org
注意:特定版本的安装:(需要指定版本号)
yum install -y mongodb-org-4.0.1 mongodb-org-server-4.0.1 mongodb-org-shell-4.0.1 mongodb-org-mongos-4.0.1 mongodb-org-tools-4.0.1

安装方法二:源码编译安装
mongDB下载地址:https://www.mongodb.com/download-center

1,需要安装依赖相关的包:
yum install libcurl openssl
2,创建mongdb的安装目录,将下载的安装包移动到安装目录并且进行解压:
[root@localhost Desktop]# mkdir /usr/local/mongodb
[root@localhost Desktop]# cd /usr/local/mongodb/
[root@localhost mongodb]# ls
mongodb-linux-x86_64-rhel70-4.0.1.tgz
[root@localhost mongodb]# tar -zxf mongodb-linux-x86_64-rhel70-4.0.1.tgz 
[root@localhost mongodb]# ls
mongodb-linux-x86_64-rhel70-4.0.1  mongodb-linux-x86_64-rhel70-4.0.1.tgz
3,创建mongodb目录
[root@localhost mongodb]# mkdir data  ###数据存放目录
[root@localhost mongodb]# mkdir /var/log/mongodb  ###日志存放目录
4,创建mongodb运行的用户组以及用户
[root@localhost mongodb]# groupadd mongo
[root@localhost mongodb]# useradd -g mongo mongo
[root@localhost mongodb]# id mongo
uid=1001(mongo) gid=1001(mongo) groups=1001(mongo)
5,更改mongo目录下所有用户权限
[root@localhost mongodb]# chown  -R mongo:mongo  .
[root@localhost mongodb]# ll
total 82516
drwxr-xr-x. 2 mongo mongo     4096 Aug 22 14:25 bin
drwxr-xr-x. 2 mongo mongo        6 Aug 22 14:21 conf
drwxr-xr-x. 2 mongo mongo        6 Aug 22 14:09 data
-rw-r--r--. 1 mongo mongo    34520 Aug 22 14:25 GNU-AGPL-3.0
-rw-r--r--. 1 mongo mongo     2149 Aug 22 14:25 LICENSE-Community.txt
-rwxrw-rw-. 1 mongo mongo 84367024 Aug 22 00:41 mongodb-linux-x86_64-rhel70-4.0.1.tgz
-rw-r--r--. 1 mongo mongo    16726 Aug 22 14:25 MPL-2
-rw-r--r--. 1 mongo mongo     2195 Aug 22 14:25 README
-rw-r--r--. 1 mongo mongo    57190 Aug 22 14:25 THIRD-PARTY-NOTICES
6,MongoDB的可执行文件位于bin目录下,所以可以将其添加到PATH路径中:
[root@localhost mongodb]# cd  /etc/profile.d/
[root@localhost profile.d]# vim mongo.sh
[root@localhost profile.d]# cat mongo.sh 
export PATH=$PATH:/usr/local/mongodb
[root@localhost profile.d] source /etc/profile.d/mongo.sh
7,启动mongodb(无密码登录)
[root@localhost mongodb]# /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/var/log/mongodb/mongo.log --logappend  --port=27017 --fork
2018-08-22T15:32:52.951+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
about to fork child process, waiting until server is ready for connections.
forked process: 4308
child process started successfully, parent exiting
8,进入/usr/local/mongodb/bin目录下,进入数据库的cli管理界面:
[root@localhost mongodb]# cd bin/
[root@localhost bin]# ./mongo
MongoDB shell version v4.0.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.1
Welcome to the MongoDB shell.
...........................................

> use test;
switched to db test
> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB
注意:相关的数据文件在/var/lib/mongo和日志文件在/var/log/mongo默认,使用mongod用户运行;如果需要修改以上数据和日志路径在/etc/mongod.conf文件下修改;

设置开机自启动:

[root@localhost bin]# echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/var/log/mongodb/mongo.log --logappend  --port=27017 --fork" >> /etc/rc.local

* 启动mongondb的参数解释: *

--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)

mongoDB的卸载

必须删除MongoDB应用程序本身、配置文件和任何包含数据和日志的目录

1,停止mongodb:
[root@localhost bin]# ps -aux | grep mongo  ###搜索mongo的进程
root       4308  0.8  3.6 1076460 73628 ?       Sl   15:32   0:23 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/var/log/mongodbmongo.log --logappend --port=27017 --fork
root       4842  0.0  0.0 112640   980 pts/3    S+   16:17   0:00 grep --color=auto mongo
[root@localhost bin]# kill -2 4308 #-2 表示向mongod进程发送sigint信号    
[root@localhost bin]# kill -4 4308 #-4表示向mongod进程发送sigterm信号
###其中mongodb数据库停止做了如下动作:
关闭全部打开的连接;
将内存数据强制刷新到磁盘;
当前的操作运行完成安全停止;
还有另外停止方法:使用mongod命令shutdown的安全停止方式:
> use admin;                     --使用管理员数据库
> db.shutdownServer();
2,删除安装包:
yum remove $(rpm -qa | grep mongodb-org)
3,删除数据和日志目录:
rm -r /var/log/mongodb
rm -r /var/lib/mongo

数据库问题

若数据库出现如不能连上,则是一个data目录下的mongod.lock文件的问题,可以用如下的修复的命令,
mongod –repair

mongDB:cloud

MongoDB Atlas
Atlas提供MongoDB作为构建MongoDB的人的服务。
MongoDB Cloud Manager
云管理器是一个托管平台,用于在您选择的基础设施上管理MongoDB。
MongoDB Ops Manager
Ops Manager是一个全面的应用程序,它可以帮助您在自己的数据中心安全可靠地管理MongoDB。

mongoDB:GUI Tools

MongoDB Charts
MongoDB图表是创建MongoDB数据可视化最快、最简单的方法。
MongoDB Compass
视觉探索你的数据;以秒为单位运行特定查询;评估和优化Compass (MongoDB GUI)中的查询性能。
Data Explorer
在MongoDB Atlas中,使用Data Explorer检查MongoDB集群中的数据库和集合。

猜你喜欢

转载自blog.csdn.net/weixin_39249306/article/details/81913239