MongoDB-Springboot配置MongoDB碰到的问题

问题:

SpringBoot整合MongoDB,启动测试类报错

报错信息:

MongoCredential{mechanism=SCRAM-SHA-1, userName='', source='xxxx', password=<hidden>, mechanismProperties=<hidden>}
	at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:271)
	at com.mongodb.internal.connection.SaslAuthenticator.getNextSaslResponse(SaslAuthenticator.java:136)
	at com.mongodb.internal.connection.SaslAuthenticator.access$100(SaslAuthenticator.java:47)
	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:62)
	at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:56)
	at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:278)
	at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:56)
	at com.mongodb.internal.connection.DefaultAuthenticator.authenticate(DefaultAuthenticator.java:53)
	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticate(InternalStreamConnectionInitializer.java:168)
	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)
	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:144)
	at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:51)
	at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:431)
	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115)
	at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:100)
	at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:96)
	at com.mongodb.internal.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:123)
	at com.mongodb.client.internal.ClientSessionBinding$SessionBindingConnectionSource.getConnection(ClientSessionBinding.java:135)
	at com.mongodb.internal.operation.OperationHelper.withConnectionSource(OperationHelper.java:648)
	at com.mongodb.internal.operation.OperationHelper.withConnection(OperationHelper.java:612)
	at com.mongodb.internal.operation.CreateCollectionOperation.execute(CreateCollectionOperation.java:346)
	at com.mongodb.internal.operation.CreateCollectionOperation.execute(CreateCollectionOperation.java:56)
	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:187)
	at com.mongodb.client.internal.MongoDatabaseImpl.executeCreateCollection(MongoDatabaseImpl.java:309)
	at com.mongodb.client.internal.MongoDatabaseImpl.createCollection(MongoDatabaseImpl.java:269)
	at org.springframework.data.mongodb.core.MongoTemplate.lambda$doCreateCollection$29(MongoTemplate.java:2437)
	at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:526)
	... 35 more
Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server xxxxxx:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
	at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:358)
	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:279)
	at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
	at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
	at com.mongodb.internal.connection.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:227)
	at com.mongodb.internal.connection.SaslAuthenticator.getNextSaslResponse(SaslAuthenticator.java:134)

我的问题

配置认证的的库(authentication-database)错了,因为我的账号密码信息在admin库里。

authentication-database: admin
spring:
  data:
    mongodb:
      host: 127.0.0.1
      port: 27017
      database: mini
      option:
        max-connection-idle-time: 1500
        max-connection-per-host: 200
        max-wait-time: 60000
        max-connection-life-time: 0
        connect-timeout: 10000
        socket-timeout: 60000
      password: '*sxasasda'
      username: user
      authentication-database: admin

还有一种可能就是密码需要加单引号

参考:

https://blog.csdn.net/qq_45186545/article/details/107553692
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值