如何建立一个含有用户名和密码的mongodb的数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何建立一个含有用户名和密码的mongodb的数据库相关的知识,希望对你有一定的参考价值。

如题。希望有详细的操作步骤,谢谢!5分献上,先到先得

方法如下:
创建数据库
use tt
这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令:
db.usr.insert(\'name\':\'tompig\');
db.usr.insert(\'name\':\'tompig1\',\'id\':1);
随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前只是想让数据库保持住.
然后使用命令查看是否有保存tt这个数据库:
show dbs
3.配置用户
use tt
db.addUser(\'mongodb\',\'123456\');
mongodb是用户名,123456是密码.
好了,这样一个数据库和对这个数据库配置用户就完成了.
mongodb常用命令:
1、Help查看命令提示
help
db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();
2、切换/创建数据库
use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库
3、查询所有数据库
show dbs;
4、删除当前使用数据库
db.dropDatabase();
5、从指定主机上克隆数据库
db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库
6、从指定的机器上复制指定数据库数据到某个数据库
db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
7、修复当前数据库
db.repairDatabase();
8、查看当前使用的数据库
db.getName();
db; db和getName方法是一样的效果,都可以查询当前使用的数据库
9、显示当前db状态
db.stats();
10、当前db版本
db.version();
11、查看当前db的链接机器地址
db.getMongo();
Collection聚集集合
1、创建一个聚集集合(table)
db.createCollection(“collName”, size: 20, capped: 5, max: 100);
2、得到指定名称的聚集集合(table)
db.getCollection("account");
3、得到当前db的所有聚集集合
db.getCollectionNames();
4、显示当前db所有聚集索引的状态
db.printCollectionStats();
用户相关
1、添加一个用户
db.addUser("name");
db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读
2、数据库认证、安全模式
db.auth("userName", "123123");
3、显示当前所有用户
show users;
4、删除用户
db.removeUser("userName");
其他
1、查询之前的错误信息
db.getPrevError();
2、清除错误记录
db.resetError();
参考技术A   太小气了,还是给你简单说一说吧,下边是我之前研究mongodb时候做的笔记中的一点部分。
  mongoDB默认用户认证是关闭的。
  修改 /etc/mongod.conf 文件。mongoDB默认情况下任何客户端都可以连接27017端口,且没有认证,默认情况下没有管理员帐户。通过修改这个配置文件可以更改为登陆时进行权限认证。
  mongoDB中如果想要给某个数据库创建一个用户,需要首先进入该数据库,然后使用addUser命令。在这里也可以将用户设置为只读(db.addUser("jack","jack",true),第三个参数表示是否时“只读用户”)。

  要使用超级管理员,需要先连接admin数据库并登陆管理员帐户,然后连接其他数据库就可以行使管理员权限。

  用户信息保存及认证过程

  类似mysql将系统用户信息保存在mysql.user表。MongoDB也将系统用户的username、pwd保存在admin.system.users集合中。其中pwd = md5(username + “:mongo:” + real_password)。这本身并没有什么问题。username和:mongo:相当于对原密码加了一个salt值,即使攻击者获取了数据库中保存的md5 hash,也没法简单的从彩虹表中查出原始密码。

  权限管理常用命令

  1. #进入数据库admin

  use admin

  2. #增加或修改用户密码

  db.addUser('name','pwd')

  3. #查看用户列表

  db.system.users.find()

  4. #用户认证

  db.auth('name','pwd')
这一个返回1就认证成功了,只有认证成功才能对数据库进行操作

  5. #删除用户

  db.removeUser('name')

  6. #查看所有用户

  show users

  7. #查看所有数据库

  show dbs

  8. #查看所有的collection

  show collections

  9. #查看各collection的状态

  db.printCollectionStats()

  10. #查看主从复制状态

  db.printReplicationInfo()本回答被提问者和网友采纳
参考技术B 你想用哪种数据库?SQL SERVER?还是oracle?追问

mongodb数据库 听说过没?

追答

额,这种东西太高档了,是最近两年刚出来的吧?会的人很少!

追问

是近两年出来的新东西,比较难,所以才悬赏的呀,亲!

以上是关于如何建立一个含有用户名和密码的mongodb的数据库的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB如何设置权限(类似关系型数据库的用户名和密码)

Python——连接MongoDB

mongodb 用户管理

MongoDBmongodb设置用户访问权限

如何使用 Node.js 建立与 MongoDB 数据库的 SSH 隧道连接

如何使用用户名和密码连接到Java中的MongoDB 3.2?