作者:竹叶清2012 | 来源:互联网 | 2023-09-09 17:19
目录
部署环境
安装包下载
安装与配置
安装
配置systemd服务
认证登录配置
部署环境
服务器系统:centos7
mongodb版本:4.4.1
 
安装包下载
官网下载地址:https://www.mongodb.com/try/download/community
找到自己需要的安装包下载,下载后发送到服务器上,此处拷贝到“/opt/mongodb/”目录下
 
安装与配置
安装
解压安装包:tar -zxvf mongodb-linux-x86_64-rhel70-4.4.1.tgz
重命名解压的安装目录:mv mongodb-linux-x86_64-rhel70-4.4.1 mongodb
编辑系统环境变量:vim /etc/profile
#mongodb
export MONGODB_HOME=/opt/mongodb/mongodb
export PATH=$PATH:${MONGODB_HOME}/bin
生效环境变量:source /etc/profile
创建配置文件及添加配置参数:vim /opt/mongodb/mongodb.conf
port=27017 #端口信息
dbpath=/opt/mongodb/data #数据库存放路径
logpath=/opt/mongodb/logs/mongodb.log #日志文件路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxCOnns=100 #最大同时连接数
#auth=true #启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
storageEngine=wiredTiger #即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从其他客户端中去连虚拟机中的MongoDB
注意:首次配置先不启用“auth”配置
启动服务:/opt/mongodb/mongodb/bin/mongod --config /opt/mongodb/mongodb.conf
启动报错:
报错原因:没有创建配置的数据存放目录data和日志文件目录logs
解决办法:创建data目录和Logs目录
mkdir /opt/mongodb/data /opt/mongodb/logs
重启启动服务:/opt/mongodb/mongodb/bin/mongod --config /opt/mongodb/mongodb.conf
 
配置systemd服务
vim /lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/mongodb/mongodb/bin/mongod --config /opt/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/opt/mongodb/mongodb/bin/mongod --shutdown --config /opt/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务:systemctl start mongodb
服务自启:systemctl enable mongodb
 
认证登录配置
登录数据:/opt/mongodb/mongodb/bin/mongo   或者  mongo(配置了系统环境变量才能使用)
配置管理员权限密码:
use admin
db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
#user:用户名
#pwd:密码
#role:指定用户的角色,可以用一个空数组给新用户设定空角色;在 role 字段,可以指定内置角色和用户定义的角色
#db:数据库
配置完成后可以测试一下登录,返回结果为“1”,表示成功
角色权限:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
启用认证:vim /opt/mongodb/mongodb.conf
auth=true #去掉配置文件中auth=true前面的#号,使配置生效
重启服务:systemctl stop mongodb && systemctl start mongodb(或者systemctl restart mongodb)
测试认证是否生效:
show dbs查询没有任何数据
使用admin用户登录:db.auth("admin","123456")
 
 
-----------日常记录---------------