在页面中选择 MongoDB Community Server 社区版,根据自己的系统选择对应的版本,我自己使用的是 CentOS 版本。而 MongoDB 只有 RedHat 版本,下载使用即可。
CentOS 是 Community ENTerprise Operating System 的简称,也可以叫它社区企业操作系统,是 Linux 操作系统中的一个发行版本。
CentOS 并不是全新的 Linux 发行版,它是 Red Hat 家族发行的企业版的产品 Red Hat Enterprise Linux(以下称之为 RHEL)的克隆版本。RHEL 是很多企业采用的 Linux 发行版本,需要向 Red Hat 付费才可以使用,并能得到付费对应的服务,技术支持和版本升级。CentOS 可以像 RHEL 一样的构筑 Linux 系统环境,但不需要向 Red Hat 支付任何的产品和服务费用,同时也得不到任何有偿技术支持和升级服务。
还可以通过:https://docs.mongodb.com/manual/installation/ 确认该版本软件是否支持你的操作系统。
安装
将资源上传至服务器 /usr/local/src,解压至 /usr/local 并重命名为 mongodb。
# 创建 mongodb 目录 mkdir -p /usr/local/mongodb # 解压 mongodb 至指定目录 tar -zxvf /usr/local/src/mongodb-linux-x86_64-rhel70-4.4.1.tgz -C /usr/local/ # 重命名解压目录为 mongodb mv /usr/local/mongodb-linux-x86_64-rhel70-4.4.1/ /usr/local/mongodb创建数据/日志目录
创建用于存放数据和日志的文件夹,并修改其权限增加读写权限。
# 创建存放数据的目录 mkdir -p /usr/local/mongodb/data/db # 创建存放日志的目录 mkdir -p /usr/local/mongodb/logs # 创建日志记录文件 touch /usr/local/mongodb/logs/mongodb.log启动 MongoDB
前台启动
MongoDB 的默认启动方式为前台启动。所谓的前台启动就是 MongoDB 启动进程后会占用当前的终端窗口。
# 切换至指定目录 cd /usr/local/mongodb/ # 前台启动 bin/mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0--dbpath:指定数据文件存放目录
--logpath:指定日志文件,注意是指定文件不是目录
--logappend:使用追加的方式记录日志
--port:指定端口,默认为 27017
--bind_ip:绑定服务 IP,若绑定 127.0.0.1,则只能本机访问,默认为本机地址
后台启动
所谓的后台启动就是以守护进程的方式启动 MongoDB。命令中添加 --fork 即可。
# 后台启动 bin/mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0 --fork通过命令启动的方式并不适合管理,毕竟每次输入命令都需要考虑各参数的配置。我们可以通过配置文件来配置启动参数,然后通过指定配置文件的方式启动服务,这样在管理 MongoDB 上就比较方便了。
配置文件
在 bin 目录下增加一个 mongodb.conf 配置文件。
# 数据文件存放目录 dbpath = /usr/local/mongodb/data/db # 日志文件存放目录 logpath = /usr/local/mongodb/logs/mongodb.log # 以追加的方式记录日志 logappend = true # 端口默认为 27017 port = 27017 # 对访问 IP 地址不做限制,默认为本机地址 bind_ip = 0.0.0.0 # 以守护进程的方式启用,即在后台运行 fork = true启动
# 切换至指定目录 cd /usr/local/mongodb/ # 指定配置文件的方式启动服务 bin/mongod -f bin/mongodb.conf
客户端访问
可以通过 bin 目录中的 mongo 来访问 MongoDB 服务器。
命令为:bin/mongo --host 连接的主机地址(默认127.0.0.1) --port 端口(默认27017)
[root@localhost mongodb]# bin/mongo MongoDB shell version v4.4.1 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("2bf54fad-83bc-444c-8bee-166a224445b8") } MongoDB server version: 4.4.1 --- The server generated these startup warnings when booting: 2020-10-21T10:47:44.855+08:00: ***** SERVER RESTARTED ***** 2020-10-21T10:47:47.024+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted 2020-10-21T10:47:47.024+08:00: You are running this process as the root user, which is not recommended 2020-10-21T10:47:47.024+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never' 2020-10-21T10:47:47.024+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never' 2020-10-21T10:47:47.024+08:00: Soft rlimits too low 2020-10-21T10:47:47.024+08:00: currentValue: 1024 2020-10-21T10:47:47.024+08:00: recommendedMinimum: 64000 --- --- Enable MongoDB's free cloud-based monitoring service, which will then receive and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL accessible to you and anyone you share the URL with. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() To permanently disable this reminder, run the following command: db.disableFreeMonitoring() --- >