怎么破解mongovue 备份数据库数据库密码

1388人阅读
数据库(2)
前言及概念
据说nodejs和mongoDB是一对好基友,于是就忍不住去学习了解了一下MongoDB相关的一些东西, 那么,MongoDB是什么?这里的五件事是每个开放人员应该知道的:
MongoDB是一个独立的服务器;
如MySQL或PostreSQL 一样,MongoDB提供侦听端口以便接入。它提供了用于查询,创建,更新和删除的工具。从理论上讲,你使用它的工作方式相同:连接,执行任务并关闭连接
它是基于文档的,而不是基于表格的;
MongoDB 没有结构化语言。如果你想创建一个新的文档类型,你不用做任何事来告诉数据库关于这些数据的结构,而仅仅是存到数据库中即可。
简单的说,MongoDB使用类似JavaScript或PHP 的类型处理方式。也就是说,数据库是灵活的弱类型。
虽然有一些数据是有限制条件的(大块的数据可能需要一些明确的处理),但在大多数情况下,你可以像写PHP代码一样编写你的MongoDB代码。
它是非结构化的;
还记得这些你写的数据库抽象层吗?还记得那些你处理过的ORM层吗?现在,你可以将它们全部丢弃。在MongoDB中你不需要他们。MongoDB没有很多查询语句。在大多数情况下,只需给它一个数组指定你想要的信息,然后它会给你返回文档的数组。如果你想运行一些非常复杂的查询(如Map-Reduce操作),可以向MongoDB传递JavaScript,其内部的JavaScript引擎可以解析这个脚本
不必去学习另一种查询语言;
开发时间也短,因为没有结构需要管理和很少(如果有的话)的数据映射。
学习曲线很平滑,因为没有新的查询语言学习。代码是简洁的。毕竟,无须任何其他ORM,封装可以非常简单。你的代码是未来的保证。向你的对象增加更多的字段是很轻松的。因此,需求变化了,你可以很快修改代码以便适应。
MongoDB足以让我意识到它有改变游戏规则的潜力。这也是让大家主张使用新一代的文档数据库代替基于SQL的关系数据库的原因。将关系数据库留在尘土里,更可能的是让它们做它们能做好的事情:存储属于行和表的数据。
MongoDB 是用C++开发的面向文档的数据库,也就是反传统的数据库范式来设计的,把相关的对象都记录到一个文档里,每个文档内是schema-free的,也就是列名可以自由定义,比较灵活,特别是面对业务逻辑多变的应用场景十分给力。数据以BSON(类似JSON)的格式二进制存储。不好的地方就是可能带来一定的数据冗余和存储开销。
另外,MongoDB的索引机制和MySQL等数据库是一样的,可以利用传统的关系数据库的经验来使用MongoDB的索引。
不像其他很多NoSQL产品由个别工程师根据应用场景开发出来的,MongoDB是有一个专门的公司 10gen 来维护。有一点要注意的是,MongoDB自己是不管理内存的,无法指定内存大小,完全交给操作系统来管理,因此有时候是不可控的,在生产环境使用必须在OS层面监控内存使用情况。
它具有强大的主流开发语言支持,如C#、C++、Java、PHP、Perl、Python、Ruby。
MongoDB的安装
下载mongoDB
,版本为:mongodb-win32-x86_64-2008plus-ssl-v3.0-latest-signed.msi
到这里mongodb就已经安装成功了。
创建存储数据的文件夹
如下图,在D盘下创建一个用于装数据的data文件夹。
指定数据存储路径并启动服务
在cmd下进入刚刚mongoDB安装的路径,如下图:
执行指令:mongod –dbpath D:\data,其中D:\data为数据存放的位置。如下图这启动成功。
验证服务是否已经启动
在浏览器下打开:,如果出现下图效果则说明服务已经启动成功:
MongoVUE安装
下载MongoVUE
下载解压后效果如下:
不多做解释,到此MongoVUE已经安装完成.
将解压zip下“破解补丁”文件夹中的“MongoVUE.exe”文件替换到安装文件目录下,如下图:
到此,破解已经完成。
先打开MongoVUE,按如下图流程
右键数据库,点击add Collection,如下图:
选择刚刚添加的表,右键,选择Insert/Import Documents,如下图:
查看log日志
.Test.insert({
Name:"张三",
Add:"XXX市XXX号XXX街道XXX号"
如下图,最基础的查询:
基本查询,在{find}中输入Json
如:{Name:”张三”}
db.Test.find({ "Name" : "张三" }).limit(50)
db.Test.find({ "Name" : "张三" }).limit(50).explain()
需要通过ISODate函数将日期进行格式话,如:{“InsertDate”:ISODate(“T16:00:00Z”)}
查询大于,小于,大于等于,小于等于
db.Test.find({ "Age" : { "$gt" : 50 } }).limit(50)
db.Test.find({ "Age" : { "$gt" : 50 } }).limit(50).explain()
\$lt:小于
\$lte:小于等于
\$gt:大于
\$gte:大于等于
右击表格,点击Find2,比Find多了一个where;写表达式,如下图:
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50)
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50).explain()
排序${Sort}
如下图,在${Sort}中输入Json:{Age:-1},即对Age字段进行排序:
注:当大于0的时候为升序,小于0的时候则为降序
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50).sort({ "Age" : -1 });
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50).sort({ "Age" : -1 }).explain();
查询字段${Fields}
如下图,查询_id和这些个字段{Name:1,Age:1}
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 1, "Age" : 1 }).limit(50).sort({ "Age" : -1 })
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 1, "Age" : 1 }).limit(50).sort({ "Age" : -1 }).explain()
注:当等于1的时候,就是查询_id和和等于1的字段;当如果等于0时,就是查询除了等于0的字段之外的所有字段,如下图:
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 0, "Age" : 0 }).limit(50).sort({ "Age" : -1 })
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 0, "Age" : 0 }).limit(50).sort({ "Age" : -1 }).explain()
当skip&0的时候表示跳过多少行,比如skip=1,表一起有2条数据,那么就只会查询出第二条数据。
表示每次查询多少行,0的时候标识查询所有,&0则查询指定的行数。
右键表,选中update
db.Test.update({ "Age" : 24, "$isolated" : "true" },{$set:{Age:27,}})
db.Test.find({Age:24})
右键表,选中remove,在窗口中输入如下json即可完成删除
db.Test.remove({ "Age" : 26 })
Over,后续有进一步研究,持续完善…
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:27337次
排名:千里之外
原创:30篇
评论:15条
(1)(9)(4)(1)(1)(4)(5)(5)(1)[其它数据库] mongodb安装说明以及mongoVUE使用 | IT知识库
-& 正文阅读
[其它数据库]mongodb安装说明以及mongoVUE使用
mongodb安装说明以及mongoVUE使用
简单介绍mongoDbMongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 将数据存储为一个文档。MongoDB是一个基于分布式文件存储的数据库。MongoDb是一种NoSQL.(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。它是一种非关系型数据库,用于超大规模数据的存储。NoSQL的优缺点:优点:- 高可扩展性
- 分布式计算
- 架构的灵活性,半结构化数据
- 没有复杂的关系缺点:- 没有标准化
- 有限的查询功能(到目前为止)
- 最终一致是不直观的程序&那么MongoDb的特点呢,官方说明~MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
MongoDB安装简单。MongoDb安装MongoDb的安装很简单,其实是有两种:第一种是下载压缩包文件,解压使用;第二种是下载msi文件,安装使用。      (1)下载 官方的msi文件
我这里是64位的。下载之后直接安装就行了,一步步按照它的操作最后我的路径变为E:\Program Files\MongoDB\Server\3.0&& 在这个文件夹下边可以发现
最好看看它自己提供的README等然后进入bin文件瞅瞅
bin文件里边一般用到的就是那两个文件mongod.exe用来启动mongodb服务(启动之后你的数据库就可以使用了的意思)mongo.exe用来启动进入数据库(然后你就可以命令操作数据库的意思)        tip &以这种msi安装方式你需要注意:1. 安装路径默认太长了(因为后边mongo.exe的执行你需要敲命令进去..)你可以把它拉近点,把bin拿出来。比如我的E:\mongoDb\bin2. 要自己在磁盘根目录创建一个文件夹data& 然后再里边再创建一个文件夹db 用来存放数据。E:\data\db(不这样做的话,点击mongod.exe会频频闪退~)好了,创建好之后就可以直接点击 mongod.exe 开启服务好长一串(一般我们可以为它创建一个日志文件,这样日志就会被记录,当然了,控制台也就基本没什么输出了)...它现在已经默认监听本地的端口27017了
好现在就浏览器输入地址 http://localhost:27017/ 可以看到服务已经成功开启
接下来试试操作数据库吧: 命令行进入程序所在文件夹(tip: 如果没有开启服务,可能会导致下边的错误)
开启服务(mongod.exe)之后,一般就可以解决了~试一下,然后可以用其语法进行数据库操作,help查看帮助
  (tip:出现上上图错误的原因,如果重新开启服务还是没有解决的话,还有其他办法)1.看看mongodb服务有没有开启(或者运行services.msc 来查看服务的开启状态)如果确认开启了2.看看data文件夹下边db文件夹之中lock文件有没有,如果有的话就删除之,接触锁定3.开启服务吧。总之错误就是你没开启服务或者开启服务之后lock文件还锁定着某些东西..  (2)假如你下载的是压缩包好吧那也不错,就将其解压出来,你需要自己创建个路径,比如E:\Program Files\mongodb& 然后把解压出来的bin文件夹放进去同理 然后在E:\Program Files\mongodb 下建立data文件夹 E:\Program Files\mongodb\data ,然后在data下边分别建立db,log两个文件夹db必须要,log随意,但是没有log的话日志信息就只能输出在控制台,有些混乱而且会丢失db就用于给数据库默认使用了&& log用于放置配置文件(然后在log文件夹下边建立一个日志文件& 比如& mongodb.log )然后就配置一下,让mongodb知道使用那些文件控制台进入你的bin文件夹&& cd E:\Program Files\mongodb\bin& E:\Program Files\mongodb\bin&mongod --dbpath "E:\Program Files\mongodb\data\db"输入上边的命令让其使用db那个文件夹要配置日志就& E:\Program Files\mongodb\bin&mongod --logpath "E:\Program Files\mongodb\data\log\mongodb.log"通常还可以使用更快捷的命令方式来开启mongodb服务,那就来设置一下(假设我想让服务名是& mongodb)& E:\Program Files\mongodb\bin&mongod --serviceName "mongodb"这样一来,我们就可以简单的使用net start mongodb 来启动服务了 或者 net stop mongodb来关闭服务对于msi安装出来的方式,这样配置服务似乎是不行的(我栽了)官方的提供如下:执行以下命令将MongoDB服务器作为Windows服务运行(需要管理员权限)
mongod --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install其中,具体的参数为:--bind_ip
绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
定MongoDB日志文件,注意是指定文件不是目录
--logappend
使用追加的方式写日志
指定数据库路径
指定服务端口号,默认端口27017
--serviceName
指定服务名称
--serviceDisplayNam
指定服务名称,有多个mongodb服务时执行。
指定作为一个Windows服务安装。  具体安装方式就是这样~--------------------------------------------------------------------------------------------------------------------------------------  可以直接在控制台里边直接操作数据库,也可以使用图形工具mongoVUE 似乎更便捷&& 去 官方下载
安装好之后打开它苦命啊...要收费..听说低于1.3版本的不用注册就可以使用... 点击 ok
&           下面稍微介绍一下它的使用方式先点击那个加号新创建一个,因为你什么也没有,步骤也就是这样:0 1 2 3 4下面说一种新手常犯的错误,我就是这样犯的...
&看好图,一般来说每步都要一直走,都差不多,但注意第二步。因为我们新创建的而且很多数据库都是新的什么也没有,所以一般就是直接置空。如果你确定有相应的用户名密码数据库再填上否则就有如下错误..无实例
好那就来创建个新的~ 然后test一下 save一下& connect一下
好了它终于出来了,现在我们就用这个图形界面进行操作
右键那个collection看看吧,查看所有数据,会有三种格式的观看方式,分别为Tree& table& text然后继续操作&& 百度文库那儿已经有一篇文章介绍地非常好了,需要的可以 进入百度文库查看&&&&&&&&&&&&&&&& --- 就先介绍到这里 --
加: 14:59:39&
更: 15:00:00&
&&网站联系: qq: email:&用MongoVUE管理MongoDB_mongodb数据库_ThinkSAAS
用MongoVUE管理MongoDB
用MongoVUE管理MongoDB
最近研究起了NoSQL,偶然发现官方并未提供完善的数据库管理工具。所以经过搜索,找到了两款看起来比较中意的工具:Rockmongo 和 MongoVUE 从说明中上看,感觉Rockmongo 要比目前的MongoVUE要强大些。但是刚刚尝试在PHP绿色开发环境中安装Rockmongo 后,发现有些问题,无法正确安装。尽管下载并配置了php的mongoDB扩展,但是依然不给力。索性改为C/S模式的MongoVUE,因为它自带了MongoDB所需的Driver
启动mongoDB的Server端
mongod.exe
--dbpath=e:DB --rest --port 8080 然后从 下载MongoVUE 配置连接:
Ok,连接成功齐活儿~
下面来试一下,插入一个新的名为Message的Collection :
然后插入个Document
OK,插入成功,一起安好~
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信经检测你所在的网络可能存在爬虫,因资源限制,我们只能拒绝你的请求。
如果你是推酷的用户,可以以继续访问使用。
如有疑问,可将IP信息发送到
请求解封。mongodb 添加用户及权限设置详解
投稿:hebedich
字体:[ ] 类型:转载 时间:
我知道的关系型数据库都是有权限控制的,什么用户能访问什么库,什么表,什么用户可以插入,更新,而有的用户只有读取权限。
例如:mysql安装配置好后,有一个自带的mysql数据库,里面有一张user表,用来存放用户,以及用户权限,而mongodb这个最像关系型的数据库,有没有这样的表呢。
一,掌握权限,理解下面4条基本上就差不多
1,mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2,切换到admin数据库,添加的账号才是管理员账号。
3,用户只能在用户所在数据库登录,包括管理员账号。
4,管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。这一点比较怪
二,添加管理员账号
[root@localhost zhangy]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
& use admin
//切换到admin数据库
switched to db admin
system.indexes
system.users
& db.system.users.find();
//用户表没有数据
& db.addUser('tank','test');
//添加一个管理员账号
"user" : "tank",
"readOnly" : false,
"pwd" : "df6bbc643a",
"_id" : ObjectId("529e5d543b6a")
三,开启动用户权限认证
[root@localhost zhangy]# vim /etc/mongodb.conf
//将auth=true前面的注释拿掉
[root@localhost zhangy]# /etc/init.d/mongod restart
//重启生效
四,用户只能在用户所在数据库登录,管理员需要通过admin认证后才能管理其他数据库
[root@localhost zhangy]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
//显示所有数据库失败,因为还没有认证
Wed Dec 4 06:39:50.925 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46
& db.auth('tank','test');
//认证失败,因为这个用户不属于tank这个数据库
Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" }
& use admin
//切换到admin数据库
switched to db admin
& db.auth('tank','test');
//在admin数据库认证成功
//切换到tank数据库
switched to db tank
//不会在提示没有权限了
system.indexes
五,添加普通用启
switched to db tank
& db.addUser('tank1','test');
//为tank数据库添加了一个可读写用户tank1
"_id" : ObjectId("529e5f718a70f3"),
"user" : "tank1",
"readOnly" : false,
"pwd" : "35dd47abff098f5b4f0b567db8edeac5"
& db.addUser('tank2','test',true); //为tank数据库添加了一个只读用户tank2
"user" : "tank2",
"readOnly" : true,
"pwd" : "d247538ded52e6df7b887",
"_id" : ObjectId("529e38d5e315")
[root@localhost zhangy]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
& db.auth('tank1','test');
//刚添加的用户可以登录。
六,php客户端连接
1, 推荐方法一
$mongo = new Mongo();
$db = $mongo-&selectDB('tank');
//切换到tank数据库
$db-&authenticate("tank3", "test");
$users= $db-&selectCollection("users"); //选取users表
$cursor = $users-&find();
//读取数据
foreach ($cursor as $id =& $value) {
echo "$id: "; print_r($value); echo "&br&";
这种方式比较好理解,根命令行下的操作过程差不多。
2,推荐方法二
$mongo = new Mongo("mongodb://tank3:test@127.0.0.1:27017/tank");
//认证用户,这里的数据库,只启认证作用
$db = $mongo-&selectDB('tank'); //选取数据库
$users= $db-&selectCollection("users");
$cursor = $users-&find();
foreach ($cursor as $id =& $value) {
echo "$id: "; print_r($value); echo "&br&";
上面二种方法的不同在于,一个先选数据库在认证,一个先认证在选数据库。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 mongovue导入数据库 的文章

 

随机推荐