I have a sharded MongoDB setup.
I'm trying to connect to it from my Laravel application
Before I sharded my database I was using laravel-mongodb to connect to my regular mongodb instance.
This was my previous config
'mongodb' => array(
'driver' => 'mongodb',
'host' => env('MONGODB_HOST', 'localhost'),
'port' => env('MONGODB_PORT', 27017),
'username' => env('MONGODB_USERNAME', ''),
'password' => env('MONGODB_PASSWORD', ''),
'database' => env('MONGODB_DATABASE', ''),
'options' => array(
'db' => env('MONGODB_AUTHDATABASE', '') //Sets the auth DB
)
)
I tried to update the MONGODB_HOST
to the sharded query router hostname but I am now getting the error
[MongoConnectionException] Failed to connect to: queryrouter0.example.com:27017: Authentication failed on database 'admin' with username 'maxrosecollins': auth failed`
I can see in the logs on the queryrouter0.example.com
server
2017-09-05T14:42:36.558+0000 I NETWORK [thread2] connection accepted from 45.32.144.169:33086 #41615 (1 connection now open) 2017-09-05T14:42:36.560+0000 I ACCESS [conn41615] authenticate db: admin { authenticate: 1, user: "maxrosecollins", nonce: "xxx", key: "xxx" }
2017-09-05T14:42:36.562+0000 I ACCESS [conn41615] Failed to authenticate maxrosecollins@admin with mechanism MONGODB-CR: AuthenticationFailed: MONGODB-CR credentials missing in the user document
2017-09-05T14:42:36.563+0000 I - [conn41615] end connection 45.32.144.169:33086 (1 connection now open)
I can connect to the query router using the following. This is on the same server I am getting the auth failed error when using laravel. I have double checked passwords and usernames
mongo queryrouter0.example.com:27017 -u "maxrosecollins" -p "password" --authenticationDatabase "admin"