线上环境连接mongodb出现的问题

在一台新的服务器安装了mongodb,没有之前项目的数据库信息test,首先通过命令行方式登陆数据库
mongo --port 27019 -u test
然后输入数据库密码

创建数据库

use test

在使用 show dbs命令查看数据库,由于刚创建的数据库 test并不在数据库的列表中, 要显示它,我们需要向 test数据库插入一些数据。

> db.xxx.insert({"name":"test"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
test  0.000GB

在创建完数据库之后,由于为新的环境,test用户不可以访问test库,需要重新创建test用户并授读写权限

db.createUser({user:"test",pwd:"[email protected]",roles:[{role:"readWrite",db:"test"}]})

然后需要切换数据库到vms_202106中,使用db.auth命令授权

use test
db.auth('test','[email protected]')

授权后,在项目中使用如下配置连接mongodb

spring:
  data:
    mongodb:
      # 用户名密码格式为 用户名:密码 特殊符号需要使用转移字符
      # @的转移字符为%40
      uri: mongodb://test:123456%[email protected]:27019/test
      database: test
      option:
        socket-keep-alive: true
#        max-connection-idle-time: 6000
        connect-timeout: 3600
        min-connection-per-host: 100
        threads-allowed-to-block-for-connection-multiplier: 5
        max-wait-time: 10000
        socket-timeout: 0
        max-connection-life-time: 0
        heartbeat-socket-timeout: 3600
        heartbeat-connect-timeout: 3600
        min-heartbeat-frequency: 5
        heartbeat-frequency: 10

你可能感兴趣的:(后端mongodblinux)