MongoDB 连接

以前,在使用关系型数据库时,没有用户名和密码我们是不能访问数据的。但是在MongDB中,默认不需要使用用户名和密码就可以访问数据库,并且可以进行各种操作。这样是虽然利于初学者,但是很不安全的。所以,今天说一下MongDB的连接安全问题。

 

    首先,之所以能够不使用用户名和密码就能连接,是因为我们在启动MongoDB服务的时候,没有设置权限认证。

    1、不用用户名和密码就能访问的启动方式:

    mongod --dbpath c:\mongo_data --logpath c:\mongo\logs\logs.txt

    只需要给出--dbpath和logpath即可

    2、需要用户名和密码的启动方式:

    mongod--dbpath c:\mongo_data --logpath c:\mongo\logs\logs.txt -auth

    需要加上 -auth(cateauthentication 认证的意思)

 

    想要使用用户名和密码登陆,就必须有用户名和密码,而我们要在哪里设置用户名和密码呢?

    首先以非认证方式(不需要用户名和密码)登陆系统,然后我们可以看到默认系统给出了几个库,其中有localhost和    admin,当然我们也可以新建库。

    每个库都有自己的用户表,admin库的用户拥有其他的所有权限。所以,初学阶段我们使用在admin库中添加用户,真正使    用的时候,使用各个库自己的用户。

    添加用户图片

MongoDB 连接

 

    两种不同的连接数据库方式

    1、不使用用户名和密码:

    Mongo m = new Mongo("localhost",27017);  //默认访问本地的27017端口

    2、使用用户名和密码:

    Mongo m = new Mongo("localhost",27017);

    booleanauth = db.authenticate(userName, password);

 

    通过这样的方式,我们大概了解了如何让自己的MongoDB连接变得安全。后续会介绍MongDB的使用连接池的相关内容来了解高效连接。

你可能感兴趣的:(MongoDB 连接)