Mongodb直接下载回来解压就能用。如,我解压到app/mongo目录下。并在appmongo目录下那建data/db目录用来存在mongodb数据库数据的一个文件夹。
root用户启动mongodb,这里如果不使用root用户,第二次再次启动的时候启动不了。具体原因没有找着。
cd app/mongo/ bin/mongod --dbpath data/db
进入mongo的shell:
./bin/mongo
use admin
db.shutdownServer();
每个MongoDB实例中的数据库可以有许多用户,如果开启了安全性检查,则只有数据库认证用户才能执行读或者写操作。在数据库中添加用户,如下所示:
use test db.addUser(“test_user”, “1234”)
注意:addUser不仅能添加用户,还能修改用户口令或者只读状态。
要开启安全性检查,重启服务器,同时加--auth命令行选项。然后通过shell重新连接数据库,操作如下:
use test db.auth(“test_user”, “1234”)
{“user” : username, “readOnly” : true, “pwd” : password hash}
用户认证时,服务器将认证和连接绑定来跟踪认证。所以如果驱动程序或是工具使用了连接池或是因故障切换到另一个节点,所有认证用户必须对每个新连接重新认证。有的驱动程序能够将这步透明化,但要是没有,就得手动完成了。
除了认证还有许多选项值得考虑来锁定MongoDB实例。建议将MongoDB服务器布置在防火墙后或者布置在只有应用服务器能访问的网络中。但要是MongoDB必须能被外面访问到的话,建议使用—bindip选项,可以指定mongod绑定到的本地IP地址。
例如,只能从本机应用服务器访问:
mongod –bindip localhost
use crm
db.user.insert({ "username" : "admin","password" : "1234", "email" : "testuser1@testdomain.com" })
db.user.find().pretty()
stuff = [{ "username" : "test1","password" : "1234", "email" : "testuser2@testdomain.com" }, { "username" : "test2","password" : "1234", "email" : "testuser3@testdomain.com" }] db.user.insert(stuff);
benben@benben:~/app/mongo/bin$ ./mongo MongoDB shell version: 2.6.4 connecting to: test > use crm switched to db crm > db.user.insert({ "username" : "admin","password" : "1234", "email" : "testuser1@testdomain.com" }) WriteResult({ "nInserted" : 1 }) > db.user.find().pretty() { "_id" : ObjectId("53fc73bf784eb7aa025aeb31"), "username" : "admon", "password" : "1234", "email" : "testuser1@testdomain.com" } > stuff = [{ "username" : "test1","password" : "1234", "email" : "testuser2@testdomain.com" }, { "username" : "test2","password" : "1234", "email" : "testuser3@testdomain.com" }] [ { "username" : "test1", "password" : "1234", "email" : "testuser2@testdomain.com" }, { "username" : "test2", "password" : "1234", "email" : "testuser3@testdomain.com" } ] > db.user.insert(stuff); BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 2, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] }) > db.user.find().pretty() { "_id" : ObjectId("53fc73bf784eb7aa025aeb31"), "username" : "admon", "password" : "1234", "email" : "testuser1@testdomain.com" } { "_id" : ObjectId("53fc741f784eb7aa025aeb32"), "username" : "test1", "password" : "1234", "email" : "testuser2@testdomain.com" } { "_id" : ObjectId("53fc741f784eb7aa025aeb33"), "username" : "test2", "password" : "1234", "email" : "testuser3@testdomain.com" } >
原文地址:http://blog.csdn.net/jrainbow/article/details/39163843