1. MongoDB介绍
MongoDB 是一个基于分布式文件存储的数据库,用C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB分为社区版和企业版,两者的区别主要是在体现在安全认证、系统认证等方面,具体对比如下图:
image.png
2. Linux下安装MongoDB 4.4 Community Edition
2.1 使用yum安装
MongoDB官方安装教程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
- 创建/etc/yum.repos.d/mongodb-org-4.4.repo文件,这样就可以直接使用yum安装,mongodb-org-4.4.repo文件内容如下
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
- 安装MongoDB包
安装最新稳定版本
sudo yum install -y mongodb-org
或者,安装MongoDB的具体版本,分别指定每个组件软件包,并将版本号附加到软件包名中
sudo yum install -y mongodb-org-4.4.2 mongodb-org-server-4.4.2 mongodb-org-shell-4.4.2 mongodb-org-mongos-4.4.2 mongodb-org-tools-4.4.2
你可以指定任何可用的MongoDB版本,但是,当有新版本可用的时候,yum会升级软件包。为防止意外升级,请固定安装。要固定软件包,请将一下exclude指令添加到/etc/yum.conf文件中:
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
- 启动MongoDB之前的配置
大部分类似unix操作系统会限制进程可能使用的系统资源。这些限制可能会对MongoDB的运行产生负面影响,应进行调整。有关平台推荐设置,请参考UNIX ulimit设置。
注意:
从MongoDB 4.4开始,如果打开文件数的ulimit值小于64000,则会生成启动错误。
启动前提:
- 默认情况下,MongoDB使用mongod用户账户运行,并使用以下默认目录:
-
/var/lib/mongo
(the data directory) -
/var/log/mongodb
(the log directory)
-
如果是用yum安装的默认就会创建对应目录
如果是用下载的安装包安装的话,需要手动创建下目录:
// 创建对应目录
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
// 授权
sudo chown -R mongod:mongod <directory>
- 自己修改配置,使用自己创建的目录,需要修改
/etc/mongod.conf
配置文件
- 给文件夹授权
sudo chown -R mongod:mongod <directory>
- 启动步骤
初始化系统
如果不确定平台使用哪个初始化系统,请允许以下命令:
ps --no-headers -o comm 1
然后根据结果在下面选择中选择适当的选项卡:
-
systemd
- select the systemd (systemctl) tab below. -
init
- select the System V Init (service) tab below.
systemd:
- 启动MongoDB进程
sudo systemctl start mongod
如果报错:Failed to start mongod.service: Unit mongod.service not found. 则先执行以下命令:
sudo systemctl daemon-reload
- 验证MongoDB是否启动成功
sudo systemctl status mongod
您可以选择通过发出以下命令来确保MongoDB在系统重新引导后开始运行
sudo systemctl enable mongod
- 停止MongoDB
sudo systemctl stop mongod
- 重启MongoDB
sudo systemctl restart mongod
- 使用mongo
mongo
init:
- 启动MongoDB进程
sudo service mongod start
- 验证MongoDB是否启动成功
[initandlisten] waiting for connections on port <port>
您可以选择通过发出以下命令来确保MongoDB在系统重新引导后开始运行
sudo chkconfig mongod on
- 停止MongoDB
sudo service mongod stop
- 重启MongoDB
sudo service mongod restart
- 使用mongo
mongo
2.2 使用安装包安装
- 下载安装包
安装所需的必备软件包,请从以下连接下载mongoDB的tgz:
MongoDB Download Center
也可以直接在服务器使用wget下载:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.2.tgz
- 解压安装包
tar -zxvf mongodb-linux-*-4.4.2.tgz
- 配置环境变量
mongoDB的二进制文件都在bin目录下,为了方便shell能够找到指令所在目录,将其配置在环境变量中,也可以不配,就需要到指定目录去进行命令操作。
export PATH=<mongodb-install-directory>/bin:$PATH
- 创建对应的data和log文件夹,并授权给mongid用户
sudo mkdir -p /usr/local/mongodb/config/data
sudo mkdir -p /usr/local/mongodb/config/log
# 创建logs
cd /usr/local/mongodb/config/log
touch logs
sudo chown -R mongod:mongod /usr/local/mongodb/config/data
sudo chown -R mongod:mongod /usr/local/mongodb/config/log
- 创建对应的配置文件mongod.conf
systemLog:
destination: file
path: /usr/local/mongodb/config/log/logs
logAppend: true
storage:
dbPath: /usr/local/mongodb/config/data
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /usr/local/mongodb/config/log/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
net:
bindIp: 0.0.0.0
port: 27017
replication:
replSetName: configs
- 启动mongo
./mongod -f /usr/local/mongodb/config/conf/config.conf --fork
- 关闭mongo
./mongod --shutdown --dbpath /usr/local/mongodb/config/data/
- 指定端口ip连接mongo
mongo host:port/database -u user -p password
网友评论