MongoDB 是一个基于文档的 NoSQL 数据库。
MongoDB 是一个文档型数据库,数据以类似 JSON 的文档形式存储。
MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。
MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。
今天就学习一下centos安装mongodb,本文参考Linux CentOS7 环境下安装 MongoDB_linux centos7 安装mongo客户端-CSDN博客
一、下载相关安装包并上传到服务器
1、下载mongodb server包
MongoDB Enterprise Server Download | MongoDB
2、下载MongoDB Shell
MongoDB Shell 是 MongoDB 提供的官方交互式界面,允许用户与 MongoDB 数据库进行交互、执行命令和操作数据库。
MongoDB Shell 是基于 JavaScript 的,允许用户直接在命令行或者脚本中使用 JavaScript 语言来操作 MongoDB 数据库
我选择的是rpm方式安装MongoDB Shell
https://github.com/mongodb-js/mongosh/releases
二、解压安装包
进入文件上传的目录然后解压
tar -zxvf mongodb-linux-x86_64-rhel70-7.0.16-rc1.tgz
mv mongodb-linux-x86_64-rhel70-7.0.16-rc1 /usr/local/mongodb
三、进入安装目录新建相关目录,并赋权限
mkdir data data/db data/log
sudo chmod 666 data/db data/log/
四、在安装目录下新建编辑配置文件mongodb.conf
vim mongodb.conf
配置内容如下
# 数据库数据存放目录
dbpath=/usr/local/mongodb/data/db
# 日志文件存放目录
logpath=/usr/local/mongodb/data/log/mongodb.log
# 日志追加方式
logappend=true
# 端口
port=27017
# 是否认证
auth=true
# 以守护进程方式在后台运行
fork=true
# 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问
bind_ip=0.0.0.0
配置mongodb环境变量
vim /etc/profile
编辑完成后执行命令让配置文件生效
source /etc/profile
启动
mongod -f /usr/local/mongodb/mongodb.conf
查看启动情况 ps aux | grep mongo
到此基本就算完成了
五、把mongodb服务加入系统服务
接下来我们可以把mongodb服务加入系统服务
vim /lib/systemd/system/mongodb.service
内容如下
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
PrivateTmp=true
[Install]
WantedBy=multi-user.target
先关闭mongodb服务(千万不要用kill关闭)
mongod -f /usr/local/mongodb/mongodb.conf --shutdown
然后再验证mongodb.service
systemctl daemon-reload
systemctl start mongodb.service
systemctl status mongodb.service
开启开机自启动
systemctl enable mongodb.service
六、安装MongoDB Shell
进入上面的上传目录下
yum install openssl11
yum install epel-release
rpm -ivh mongodb-mongosh-shared-openssl11-2.3.6.x86_64.rpm
执行mongosh
切换到admin数据库,并创建admin用户
use admin
db.createUser({user:"admin",pwd:"123456",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWrite","db":"admin"}]})
db.auth("admin","123456")
出现上面的内容则代表用户创建成功