简介:
MongoDB是一个高性能,开源,无模式的文档型数据库,是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,是当前NoSQL数据库产品中最热门的一种。
mongodb的结构和普通的关系型数据库的结构也有相似之处,
mongdb的database相当于关系型数据库的database;
mongdb的collection相当于关系型数据库的table;
mongdb的document相当于关系型数据库的row;
上一篇我们说了mongodb远程连接配置,今天给大家说下mongodb怎么创建数据库和配置用户,毕竟光有远程连接是不够的,我们还要上去操作和放数据的.
系统:centos 5.x
环境:mongodb
1.安装mongodb
这步就不说了,大家自己去看Centos安装MongoDB.
2.创建数据库
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();
~~~~~~~~~~~~~~~~~
默认不需要帐号密码,在/etc/mongodb.conf中设置auth = true后重启开启帐号权限功能。
1,创建admin的超级权限: mongo
use admin; db.addUser('root','sa') 增加了root帐号,这个时候执行show collections;提示没有权限,必须先执行db.auth('root','sa') ,返回1说明验证成功!返回0说明验证失败! 直接登陆其他表时,必须先use admin;db.auth('root','sa'),再执行use keke;show collections;否则还是没有权限。
2,如果想单独访问一个表,用独立的用户名,就需要在那个表里面建相应的user。 mongo登陆,
use admin;db.auth('root','sa');
use keke;db.addUser('keke','test') ; 这个时候可以直接用keke帐号登陆keke数据库。
mongo use keke;db.auth("keke","test");show collections;正确。
原文网址:https://www.cnblogs.com/jimcsharp/p/5597980.html