mongodb干货(一):安装搭建及认证登录

目录

部署环境

安装包下载

安装与配置

安装

配置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")

 

 

-----------日常记录---------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值