Linux平台安装MongoDB

环境说明:centos 7.4 MongoDB 4.0.6

#下载MongoDB
MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。

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

Linux平台安装MongoDB_第1张图片
下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。
将安装包通过xftp工具上传到centos系统中的root文件夹下,进行解压

tar -zxvf mongodb-linux-x86_64-4.0.6.tgz       

解压完成后将文件拷贝到指定文件夹中

mv  mongodb-linux-x86_64-4.0.6  /usr/local/mongodb

#创建数据库目录
以下实例中我们将目录创建于mongodb目录下(也可以用创建使用系统默认目录,或者创建其他的目录)。

mkdir -p /data/db
mkdir logs

##在mongodb/bin目录下 创建 mongdb.conf 文件(创建地址以及文件名称可以自定义)

vi mongdb.conf

添加以下内容

#端口号 默认27017
port=27017

#数据目录
dbpath = /usr/local/mongodb/data/db   //创建的mongodb数据的存储地址 
#日志文件
logpath = /usr/local/mongodb/logs/mongoLogs.log   //创建的日志存储地址
#设置后台运行
fork = true
#日志输出方式
logappend = true
#开启认证
#auth=true
#IP设置
bind_ip = 0.0.0.0 

执行结果
Linux平台安装MongoDB_第2张图片
#启动 mongodb服务
在目录cd /usr/local/mongodb/bin 目录下执行

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

./mongo  

然后执行mongo命令表示表示进入到MongDB的控制台,进入到控制台之后,我们输入db.version()命令,如果能显示出当前MongoDB的版本号,说明安装成功了。如下:
Linux平台安装MongoDB_第3张图片
也可以通过查看mongodb的日志来检查是否启动成功

##修改防火墙配置
开放27017端口的访问。

firewall-cmd --zone=public --add-port=27017/tcp --permanent  //修改端口
systemctl restart firewalld   //修改完成后,重启服务

##检查端口是否启动成功
以下三种任何一种都可以

netstat -nltp|grep mongod  
netstat -nltp|grep 27017
ps -ef | grep mongo

执行结果
Linux平台安装MongoDB_第4张图片
关闭mongodb服务

[root@jia bin]# ./mongod -f /usr/local/mongodb/bin/mongodb.conf --shutdown
killing process with pid: 14244  //结果 

#开启启动设置

编辑/etc/rc.d/rc.local文件,添加

/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/bin/mongodb.conf  //按照实际地址配置目录

修改rc.local文件为有权限的可执行文件,如:

chmod +x  rc.local

重启之后,检查服务是否启动

#远程连接检测
工具: Navicat Premium 12
新建一个mongodb连接
Linux平台安装MongoDB_第5张图片
Linux平台安装MongoDB_第6张图片
测试连接

#mongodb 配置及参数说明
在MongoDB的安装目录,有几个子目录,bin下面是可执行文件,包括

mongod:数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行

mongo:客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法

mongodump/mongorestore:将数据导入为bson格式的文件/将bson文件恢复为数据库,类似xtracbackup

mongoexport/mongoimport:将collection导出为json/csv格式数据/将数据导入数据库,类似mysqldump/mysqlimport

bsondump:将bson格式的文件转储为json格式的数据

mongos:分片路由,如果使用了sharding功能,则应用程序连接的是mongos而不是mongod

mongofiles:GridFS管理工具

mongostat:实时监控工具

最简单的,通过执行mongod即可以启动MongoDB数据库服务,mongod支持很多的参数,但都有默认值,其中最重要的是需要指定数据文件 路径,或者确保默认的/data/db存在并且有访问权限,否则启动后会自动关闭服务。Ok,那也就是说,只要确保dbpath就可以启动MongoDB 服务。

mongod的主要参数有:

dbpath: 数据文件存放路径,每个数据库会在其中创建一个子目录。用于防止同一个实例多次运行的mongod.lock也保存在此目录中。

logpath:错误日志文件

logappend: 错误日志采用追加模式(默认是覆写模式)

bind_ip: 对外服务的绑定ip,一般设置为空,及绑定在本机所有可用ip上,如有需要可以单独指定

port: 对外服务端口。Web管理端口在这个port的基础上+1000

fork: 以后台Daemon形式运行服务

journal:开启日志功能,通过保存操作日志来降低单机故障的恢复时间,在1.8版本后正式加入,取代在1.7.5版本中的dur参数。

syncdelay: 执行sync的间隔,单位为秒。

directoryperdb: 每个db存放在单独的目录中,建议设置该参数。

maxConns: 最大连接数

repairpath: 执行repair时的临时目录。在如果没有开启journal,异常宕机后重启,必须执行repair操作。

在源代码中,mongod的参数分为一般参数,windows参数,replication参数,replica set参数,以及隐含参数。上面列举的都是一般参数。如果要配置replication,replica set等,还需要设置对应的参数。执行mongo –help可以看到对大多数参数的解释。但有一些隐含参数,则只能通过看代码来获得,隐含参数一般要么是还在开发中,要么是准备废弃,因此在生产环境中不建议使用。

可能你已经注意到,mongod的参数中,没有设置内存大小相关的参数,是的,mongodb使用os mmap机制来缓存数据文件数据,自身目前不提供缓存机制。这样好处是代码简单,mmap在数据量不超过内存时效率很高。但是数据量超过系统可用内存后, 则写入的性能可能不太稳定,容易出现大起大落,不过在最新的1.8版本中,这个情况相对以前的版本已经有了一定程度的改善。

这么多参数,全面写在命令行中则容易杂乱而不好管理。因此,mongod也和mysqld一样支持将参数写入到一个配置文本文件中,然后通过config参数来引用此配置文件:

你可能感兴趣的:(linux,运维)