Linux(centOS7.6) 下安装mongoDB、设置用户密码、springboot连接配置

mongoDB

安装

1、进入到yum仓库中,配置MongoDB的yum源。

vim /etc/yum.repos.d/mongodb-org.repo

2、通过点击 i 进入编辑模式,并在mongodb-org.repo中添加如下代码。

[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

注意

  • name #名称
  • baseurl #获得下载的路径
  • gpkcheck=1 #表示对从这个源下载的rpm包进行校验;
  • enable=1 #表示启用这个源。
  • gpgkey #gpg验证

3、配置完yum源之后,通过ESC键退出并输入:wq保存退出,然后重新加载下yum源。

yum list

4、下载Mongodb。

yum install mongodb-org -y

5、配置MongoDB配置文件。

vim /etc/mongod.conf 

通过点击 i 进入编辑模式,修改其中的bindIp,配置完后,通过ESC键退出并输入:wq保存退出。

net:
  port: 27017    
  bindIp: 0.0.0.0 

6、执行以下命令,启动MongoDB服务。

systemctl start mongod.service # 启动
systemctl stop mongod.service # 停止
systemctl restart mongod.service # 重启
chkconfig mongod on  # 加入开机启动

7、执行以下命令,查看MongoDB运行状态。

systemctl status mongod

卸载

sudo yum erase $(rpm -qa | grep mongodb-org)    #卸载MongoDB
sudo rm -r /var/log/mongodb     #删除日志文件
sudo rm -r /var/lib/mongo          #删除数据文件

设置用户密码

  • 在终端输入 mongo 进入mongodb客户端

  • 进入admin数据库

    use admin
    
  • 创建管理账号

    db.createUser({user:"root",pwd:"123456",roles:["root"]})
    
  • 测试

    db.auth('root','123456') 返回1则正确

  • 开启验证

    vi /etc/mongod.conf 修改 #security:

    security:
      authorization: enabled
    
  • 重启服务

  • 测试admin 数据库

    mongo进入数据库,use admin切换到admin数据库,运行show users会报错,因为你没有验证身份,需要先验证db.auth('root','123456'),再次运行show users则显示应有信息。

springboot 连接mongodb

springboot错误配置
data:
    mongodb:
      host: localhost
      port: 8888
      username: root
      password: root
      database: mydb
springboot正确配置
use mydb
db.createUser({user:"root",pwd:"root",roles:[{role:"root",db:"admin"}]})
data:
    mongodb:
     uri: mongodb://root:root@localhost:8888/mydb

遇到的异常及解决

启动服务是遇到这个错误

在这里插入图片描述

Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.

运行指令: systemctl status mongod.service

显示错误如下:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2021-11-15 16:53:53 CST; 2min 51s ago
     Docs: https://docs.mongodb.org/manual
  Process: 4498 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
  Process: 4495 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 4493 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 4491 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

这段错误信息中主要是这段

Process: 4498 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)

解决方案:

1、以CentOS系统为例,我们进入到/tmp目录并找到mongodb-27017.sock文件

[root@centos ~]# cd /tmp
[root@centos ~]# ls -l *.sock

2、修改文件权限

chown mongod:mongod mongodb-27017.sock

3、重启MongoDB,发现没有问题,已经成功启动。

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zpeien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值