我想为我的MongoDB实例设置用户名和密码身份验证,以便任何远程访问都会要求输入用户名和密码。我尝试了MongoDB网站上的教程,并执行了以下操作:
use admin
db.addUser('theadmin', '12345');
db.auth('theadmin','12345');
之后,我退出并再次运行了Mongo。现在我不需要密码即可访问它。即使我远程连接数据库,也不需要输入用户名和密码。
更新 这是我最终使用的解决方案
1) At the mongo command line, set the administrator:
use admin;
db.addUser('admin','123456');
2) Shutdown the server and exit
db.shutdownServer();
exit
3) Restart mongod with --auth
$ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/
4) Run mongo again in 2 ways:
i) run mongo first then login:
$ ./mongodb/bin/mongo localhost:27017
use admin
db.auth('admin','123456');
ii) run & login to mongo in command line.
$ ./mongodb/bin/mongo localhost:27017/admin -u admin -p 123456
对于 mongodump
和 mongoexport
,用户名和密码的使用方式是相同的。
service mongod restart
而不是./mongodb/bin/mongod
。 - user124384