【发布时间】:2015-09-30 05:31:34
【问题描述】:
我正在尝试从 SERVER-1 连接到我的 mongo 服务器,该服务器在其他服务器 SERVER-2 中运行 所以我的 grails 应用程序在 SERVER-1 中运行。所以我给了这样的外部配置。
grails {
mongo {
host = "<SERVER-2>-host"
port = 27017
username = "myapp"
password = "myapp"
databaseName = "myapp"
options {
autoConnectRetry = true
connectTimeout = 3000
}
}
}
在 SERVER-2 中,我创建了 myapp db 并使用相同的用户和凭据
use myapp
db.createUser( { "user" : "myapp",
"pwd": "myapp",
"roles" : [] },
{ w: "majority" , wtimeout: 5000 } )
并且能够看到如下用户列表
> db.getUsers()
[
{
"_id" : "myapp.myapp",
"user" : "myapp",
"db" : "myapp",
"roles" : [ ]
}
]
Mongo 配置包含“noauth=true”, 从 SERVER-1,我可以使用以下命令连接到 SERVER-2 mongo
mongo SERVER-2-HOST:27017/myapp -u myapp -p myapp
但是当我尝试从 SERVER-1 grails 应用程序连接时,它给出了以下错误
| Error Error executing script LoadVars: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'mongoTransactionManager' while setting constructor argument with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [myapp], username = [myapp], password = [m***p]
我的 mongod.conf 文件
# mongod.conf
logpath=/var/log/mongodb/mongod.log
logappend=true
fork=true
#port=27017
dbpath=/var/lib/mongo
pidfilepath=/var/run/mongodb/mongod.pid
# Listen to local interface only. Comment out to listen on all interfaces.
#bind_ip=127.0.0.1
# nojournal=true
#cpu=true
#noauth=false
auth=true
我错过了什么吗?
【问题讨论】:
-
您使用的是 MongoDB 3 和 Grails 2.4.x 还是 2.5.x?
-
如果是,请参阅我的更新答案。那一定是你的问题。