MongoDB_安装、配置、连接(五)
阅读原文时间:2023年07月09日阅读:1

MongoDB 是跨平台的,既可以在 Linux系统下安装,也可以在Windows 系统、MacOS系统下安装,本节主要介绍如何在 Linux 系统下安装 MongoDB。

windows安装:http://c.biancheng.net/mongodb2/install-on-windows.html

MacOS安装:http://c.biancheng.net/mongodb2/install-on-macos.html

安装 MongoDB

进入MongoDB 官网(https://www.mongodb.com/try/download/community)下载合适的安装包,如下图所示:

我们选择好要使用的安装包后并不需要在浏览器中直接下载,只需要复制下载链接即可,之后使用 Linux 命令来下载 MongoDB 的安装包,如下所示:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.0.tgz

1、将安装包移到 /usr/local/src 目录下(这步为个人习惯,非必须执行)

2、解压安装包

3、创建数据存储目录和日志存储文件

4、进入mongodb解压目录下的bin目录,启动mongodb服务

配置 MongoDB

以上面的方式启动mongodb比较麻烦,每次要自己加一堆参数,我们可以把这些参数写到配置文件中

1、进入mongodb解压目录下的bin目录,新增mongodb.conf文件

2、vim编辑mongodb.conf文件,增加下面配置内容

# 数据存储目录
dbpath=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/data

日志存储目录

logpath=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/mongodb.log

日志以追加方式存储

logappend=true

绑定ip

bind_ip=127.0.0.1

绑定端口

port=27017

是否以守护进程启动

fork=true

更多配置文件配置详情

# 数据库文件位置
dbpath=/var/lib/mongodb

#日志文件的路径
logpath=/var/log/mongodb/mongodb.log

是否追加方式写入日志,默认True

logappend=true

设置绑定ip

bind_ip = 127.0.0.1

设置端口

port = 27017

是否以守护进程方式运行,默认false

fork = true

启用日志文件,默认启用

journal=true

启用定期记录CPU利用率和 I/O 等待,默认false

#cpu = true

是否以安全认证方式运行,默认是不认证的非安全方式

#noauth = true
#auth = true

详细记录输出,默认false

#verbose = true

#用于开发驱动程序时验证客户端请求
#objcheck = true

# 启用数据库配额管理,默认false

#quota = true

设置oplog日志记录等级,默认0

0=off (default)

1=W

2=R

3=both

7=W+some reads

#oplog = 0

是否打开动态调试项,默认false

#nocursors = true

忽略查询提示,默认false

#nohints = true

禁用http界面,默认为localhost:28017

#nohttpinterface = true

关闭服务器端脚本,这将极大的限制功能,默认false

#noscripting = true

关闭扫描表,任何查询将会是扫描失败

#notablescan = true

关闭数据文件预分配

#noprealloc = true

为新数据库指定.ns文件的大小,单位:MB

nssize =

用于Mongo监控服务器的Accout token。

#mms-token =

Mongo监控服务器的服务器名称。

#mms-name =

Mongo监控服务器的Ping间隔时间,即心跳

#mms-interval =

Replication Options

设置主从复制参数

#slave = true # 设置从节点
#source = master.example.com # 指定从节点的主节点

Slave only: 指定要复制的单个数据库

#only = master.example.com

or

#master = true # 设置主节点
#source = slave.example.com

设置副本集的名字,所有的实例指定相同的名字属于一个副本集

replSet = name

#pairwith =

仲裁服务器地址

#arbiter =

默认为false,用于从实例设置。是否自动重新同步

#autoresync = true

指定的复制操作日志(OPLOG)的最大大小

#oplogSize =

限制复制操作的内存使用

#opIdMem =

设置ssl认证

Enable SSL on normal ports

#sslOnNormalPorts = true

SSL Key file and password

#sslPEMKeyFile = /etc/ssl/mongodb.pem
#sslPEMKeyPassword = pass

mongodb.conf

3、以配置文件启动mongodb

4、设置mongodb命令为全局使用

在 /etc/profile 文件最后加上

export MONGODB_HOME=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin
export PATH=$PATH:$MONGODB_HOME

source文件,使配置立即生效后,就可以全局使用mongodb命令了

需要注意的是,此时使用mongodb.conf配置文件启动服务需要使用绝对路径,否则无法找到配置文件。

5、设置mongodb使用service开机启动并使用命令控制服务

在 /etc/init.d/ 目录下新建mongodb文件,,将下面代码粘贴进去

#!/bin/sh

#mongod - Startup script for mongod

chkconfig: - 85 15

description: Mongodb database.

processname: mongod

Source function library

. /etc/rc.d/init.d/functions

things from mongod.conf get there by mongod reading it

OPTIONS

OPTIONS=" -f /usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin/mongodb.conf "
#mongod
mongod="/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin/mongod"
lockfile=/var/lock/subsys/mongod
start()
{
echo -n $"Starting mongod: "
daemon $mongod $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
}

stop()
{
echo -n $"Stopping mongod: "
killproc $mongod -QUIT
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
}

restart () {
stop
start
}
ulimit -n 12000
RETVAL=0

case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
restart
;;
condrestart)
[ -f $lockfile ] && restart || :
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
RETVAL=1
esac
exit $RETVAL

mongodb service script

需要注意OPTIONS和mongod参数值要与自己的安全路径一致

给文件增加执行权限

此时,使用chkconfig --list 命令可以看到多了个mongodb,然后使用chkconfig mongodb on 设置开机启动

此时我们还可以使用  service mongodb [start|stop|restart] 控制mongodb服务

连接 MongoDB

进入解压目录的bin,执行 mongo文件就可以启用客户端连接mongodb

如果已配置mongodb命令为全局使用,可以在任何目录输入mongo 连接mongodb