在Windows环境下安装, 使用MongoDB
安装和启动
https://www.geek-share.com/detail/2584896021.html
1、下载
地址:http://www.mongodb.org/downloads(32位还是64位自行选择)。
我下载的是:mongodb-win32-x86_64-2.4.5.zip
2、解压
把mongodb-win32-x86_64-2.4.5.zip放到某个位置,解压。我放的是D:\dev目录。
解压后的路径为D:\dev\mongodb-win32-x86_64-2.4.5
3. 安装准备
MongoDB默认的数据目录为:C:\data\db。如果不用默认目录,则需要在在mongod.exe命令后加--dbpath参数。
创建数据目录。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\data\db
创建日志目录及其文件。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\log及D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt。
4、启动MongoDB
打开cmd窗口(cmd.exe),进入D:\dev\mongodb-win32-x86_64-2.4.5\bin,执行mongod.exe命令,见下图。
mongod.exe --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db
--logpath 参数是设定日志文件的路径。
--dbpath 参数是设定数据库文件的存放路径。
mongod.exe命令的所有参数选项可通过mongod.exe --help查看。
5、作为服务进行安装
使用管理员权限打开windows的cmd窗口,进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录。
mongod.exe --install --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db
--install 参数是设定安装为服务器
设置为服务后,即可在cmd(管理员权限打开的windows cmd窗口)窗口用服务的方式启动或停止MongoDB。
net start mongodb 启动mongodb服务
net stop mongodb 启动mongodb服务
转者注:第一次启动的时候不需要第四部,直接进行第五步安装服务.
6、进入shell环境界面
进入sheelMongoDB后,在cmd窗口进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录,输入mongo.exe,则可以进入shell环境界面。
使用MongoDB
https://www.geek-share.com/detail/2518501820.html
进入mongodb的bin目录,启动mongo.exe进入shell,可以执行对MongoDB的操作
如:C:\Program Files\MongoDB\Server\3.2\bin\mongo.exe
use test 切换到'test' database,如果没有会自动创建
show dbs 显示所有db
db.dropDatabase(); 删除当前使用数据库
db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库
db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
db.repairDatabase();修复当前数据库
db/db.getName(); 查看当前使用的数据库
db.stats(); 显示当前db状态
db.version(); 当前db版本
db.getMongo(); 查看当前db的链接机器地址
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();
转者补充:
增删改查的详细内容查阅官方文档 https://docs.mongodb.org/v3.0/reference/
添加用户和认证
http://hae.iteye.com/blog/2183478
链接和大部分网上资料为linux环境下的操作,win环境下其实也很简单
切换到用户表 > use admin 创建用户 > db.createUser ( { user:"root", pwd:"root", roles:[{role:"userAdminAnyDatabase",db:"admin"}] } ) 查看刚才添加的用户 > show user 停止monggo或者从win的图形界面进行操作 > net stop mongodb 和前面的安装相比,多加了一个--auth参数表示需要认证 > mongod.exe --auth --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db --reinstall 启动monggo或者从win的图形界面进行操作 > net start mongodb 认证用户 > use admin > db.auth("root","root") 认证成功会有一个返回值'1' 如果没认证直接使用数据库,会报如下错误 > use test switched to db test > show dbs 2016-01-15T06:04:46.788+0000 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", "code" : 13 } : _getErrorWithCode@src/mongo/shell/utils.js:23:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:53:1 shellHelper.show@src/mongo/shell/utils.js:700:19 shellHelper@src/mongo/shell/utils.js:594:15 @(shellhelp2):1:1
需要注意的是,前面的例子创建的root用户仅限于操作admin表,后面的使用中在我创建的test表中还是不能认证,只能再创建一个用户,而且可能是因为非系统表, 创建的role没有'userAdminAnyDatabase',改为'readWrite'后可以正常添加了
登录其他表的操作流程为:
use admin, 并且db.auth()认证admin表 > use admin switched to db admin > db.auth("root","root") 1 > show dbs admin 0.000GB local 0.000GB test 0.000GB 验证成功后use自定义的表, db.createUser()创建一个用于认证该表的用户 > use test switched to db test > db.createUser({user:"test003",pwd:"test",roles:[{role:"readWrite",db:"test"}]} ) Successfully added user: { "user" : "test003", "roles" : [ { "role" : "readWrite", "db" : "test" } ] } 创建完成之后, show users可以看到在该表下已经有用户了 > show users { "_id" : "test.test003", "user" : "test003", "db" : "test", "roles" : [ { "role" : "readWrite", "db" : "test" } ] } 直接db.auth()使用新创建的用户进行认证 > db.auth("test003","test") 1 > db.test.find()
如果role为'userAdminAnyDatabase'会报错:
2016-01-15T06:31:39.352+0000 E QUERY [thread1] Error: couldn't add user: No r
ole named userAdminAnyDatabase@test :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
DB.prototype.createUser@src/mongo/shell/db.js:1225:11
@(shell):1:1
- MongoDB —— Windows环境安装与简单使用
- MongoDB —— Windows环境安装与简单使用
- windows环境下mongodb下载、安装和使用总结
- MongoDB —— Windows环境安装与简单使用
- windows环境下安装mongodb以及nosql使用
- windows环境下mongodb下载、安装和使用总结
- windows环境下安装mongodb以及nosql使用
- Windows + MinGW环境下使用libxml2 (2) 安装源代码包
- nutch1.0 在windows环境下的安装与使用
- windows下,ruby环境的安装,与sass,compass的使用方法
- Windows下PHP简易环境搭建(WampServer安装使用)
- Wget、Curl:安装使用Windows版Wget、Curl,使环境变量立马生效
- 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信
- MongoDB安装成为Windows服务及日常使用遇到问题总结
- 使用adb命令向模拟器安装apk(windows环境)
- windows下mongodb安装与使用整理
- 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信
- 使用nodejs、mongodb、express、linux搭建社区网站(1)之nodejs、mongodb的windows下安装
- 在WINDOWS环境下使用node安装express,mongoose,jade,bower,bootstrap
- MongoDB安装成为Windows服务及日常使用遇到问题总结