zoukankan      html  css  js  c++  java
  • Mongodb

    创建数据库
    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();

    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()

  • 相关阅读:
    Python 模块 itertools
    Python 字符串的encode与decode
    python 模块 hashlib(提供多个不同的加密算法)
    暴力尝试安卓gesture.key
    hdu 1300 Pearls(DP)
    hdu 1232 畅通工程(并查集)
    hdu 1856 More is better(并查集)
    hdu 1198 Farm Irrigation(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 3038 How Many Answers Are Wrong(并查集)
  • 原文地址:https://www.cnblogs.com/ITniu/p/5718618.html
Copyright © 2011-2022 走看看