centos7安装mongodb,配置服务,设置用户密码

时间:2024-05-20 07:10:59

1、安装mongodb

1、切换到usr下,获取安装包
cd /usr
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
2、解压
tar zxvf mongodb-linux-x86_64-4.0.0.tgz
3!在这里插入图片描述
3、移动文件夹
mv mongodb-linux-x86_64-4.0.0 mongodb
4、配置系统文件profile
vi /etc/profile
插入如下内容
centos7安装mongodb,配置服务,设置用户密码
5、切换刷新
cd ~
source /etc/profile
6、创建配置文件和数据存储文件和日志文件
cd /usr/mongodb
touch mongodb.conf
mkdir db
mkdir log
cd log
touch mongodb.log
7、添加配置文件内容
vi /usr/mongodb/mongodb.conf

添加如下内容:

port=27017 #端口
dbpath= /usr/mongodb/db #数据库存文件存放目录
logpath= /usr/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
auth=true #启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB

#security:# 启动验证
security:
  authorization: enabled
 
8、更改权限
cd /usr/mongodb
chmod 777 db
chmod 777 log

9、启动mongodb
cd ~
mongod --config /usr/mongodb/mongodb.conf
输入mongo,看是否能够访问

2、配置服务

1、停止mongo进程
ps -ef | grep mongo
kill -9 进程号
2、 配置服务文件
cd /lib/systemd/system
vi mongodb.service
添加如下内容

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/mongodb/bin/mongod --config /usr/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/mongodb/bin/mongod --shutdown --config /usr/mongodb/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3、更改文件权限
chmod 754 mongodb.service

4、启动服务
systemctl start mongodb.service

3、添加用户(设置权限)

1、进入mongo,切换到admin
mongo 进入mongo
use admin
2、添加管理员用户
db.createUser({ user: “useradmin”, pwd: “adminpassword”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” }] })
3、判断是否创建成功
db.auth(“useradmin”,“adminpassword”)
返回1,证明成功
4、添加普通用户
use 指定的数据库
db.createUser({ user: “youruser”, pwd: “yourpwd”, roles: [{ role: “dbOwner”, db: “yourdb” }] })
5、使用用户密码登录
mongo --host 127.0.0.1 -u “user” --authenticationDatabase “db” -p’pwd’