第一步:配置yum源
(1)创建配置文件:
touch /etc/yum.repos.d/mongodb-org-6.0.repo
(2)将下列内容写入到mongodb-org-6.0.repo
中:
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
第二步:在线下载
输入命令下载:
sudo yum install -y mongodb-org
第三步:管理MongoDB
提示:/var/lib/mongo
为默认的数据存储路径;/var/log/mongodb
为默认的日志存储路径
如何确认自己的系统支持哪类命令?终端输入如下命令
ps --no-headers -o comm 1
会返回提示,我这里返回的是:
systemd
因此,下面的命令均为systemd类型的命令, System V Init类型的祥见官网:MongoDB官网安装说明
(1)启动
sudo systemctl start mongod
如果收到以下提示:
Failed to start mongod.service: Unit mongod.service not found
则输入:
sudo systemctl daemon-reload
然后再输入启动命令
(2)确认mongo启动状态
sudo systemctl status mongod
(3)关闭数据库
sudo systemctl stop mongod
(4)重启数据库
sudo systemctl restart mongod
(5)进入数据库
mongosh
输入如下命令,退出:
exit
第四步:卸载数据库
停止:
sudo service mongod stop
移除安装包
sudo yum erase $(rpm -qa | grep mongodb-org)
删除存储目录
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
第五步:其他说明
经上述步骤安装后,其配置文件/etc/mongod.conf
的默认内容为:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
我这里用的是云服务器,如果需要外网访问数据库,则将net中的bingIp修改为内容地址即可(如果填写0.0.0.0,::
则启动失败,当前还没有想到原因)
第六步:设置账号密码
mongo默认是没有账号密码的,出于安全考虑,强烈建议设置账号和密码。
(1)进入admin数据库
进入mongo
mongosh
选择admin数据库
use admin
(2)创建管理员账号
db.createUser({ user: "root", pwd: "xxxxxx", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
(3)测试是否创建成功
db.auth("root", "xxxxxx")
如果返回的是1,则说明正确
(4)修改配置文件/etc/mongod.conf
在其中加入如下内容:
security:
authorization: enabled
(5)重启服务
sudo systemctl restart mongod
(6)创建其他数据库密码
先切到admin库验证身份;后切到health,创建一个对health数据库具有全部权限,对其他数据库位只读权限的用户。
use health
db.createUser({user:'test',pwd:'test',roles:[{role:'readWrite',db:'health'},{role:'dbAdmin',db:'health'},'read']})