我爱编程

mongodb 安装及使用

2015-03-09  本文已影响2011人  markahcn

mongodb 安装

下载地址

http://www.mongodb.org/downloads

安装指南

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/?_ga=1.268211404.331923154.1425605358#id2

安装过程中间 可以选择自定义 然后改变 安装地址

安装之后需要设置 数据目录

进入mongodb目录 在命令行输入D:\mongodb\bin\mongod.exe --dbpath D:\mongodb\data如果文件路径中含有空格 可以使用 引号 例如D:\mongodb\bin\mongod.exe --dbpath "D:\mongodb\data"启动mongodbD:\mongodb\bin\mongod.exe创建数据及 日志 目录

mkdir D:\mongodb\data\dbmkdir D:\mongodb\data\log

创建配置文件

echo logpath=D:\mongodb\data\log\mongod.log> "D:\mongodb\mongod.cfg"

echo dbpath=D:\mongodb\data\db>> "D:\mongodb\mongod.cfg"

创建mongodb 服务sc.exe create MongoDB binPath= "\"D:\mongodb\bin\mongod.exe\" --auth --service --config=\"D:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

启动mongodb 服务net start MongoDB

关闭服务net stop MongoDB

删除mongodb 服务sc.exe delete MongoDB

另一种启动方式

echo logpath=D:\mongodb\data\log\mongod.log> "D:\mongodb\mongod.cnf"

echo dbpath=D:\mongodb\data\db> "D:\mongodb\mongod.cnf"

不指定 日志目录,指定日志目录老是提示文件存在,然后不启动然后使用

mongod -f D:\mongodb\mongod.cnf 启动 

启动成功然后重开一个命令行 执行 mongo 指令 运行 操作

新手指引的 文档

http://docs.mongodb.org/manual/tutorial/getting-started/

网上的另一个中文版的指导文档http://www.yiibai.com/mongodb/mongodb_create_collection.html

进入mongodb安装 目录命令行执行 mongo 会启动 mongodb的 命令行 工具,类似mysql 

使用db命令

show dbs 显示所有的db

切换db

use mydb

帮助

help

mongodb 概念

 databases 数据库 类似 mysql就是 一个数据库 的概念collection 类似 mysql 中的 一张表

可以使用use来创建数据库如果数据库存在 返回当前数据库,

如果不存在会直接创建新库use mark创建表

db.createCollection("mycollection")

显示表show collections

创建系统管理员

use admin

db.createUser(  {    

user: "mark",    pwd: "123456",   

 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  })

添加成功

删除用户db.dropUser("mark");

创建单个DB的管理员use db1

db.dropUser("test");

db.createUser(  {    user: "test",    pwd: "123456",   

 roles: [ { role: "userAdmin", db: "test" },    { role: "readWrite", db: "test" } ]  })

db.auth("test","123456")

连接测试mongo test -u test -p 123456

查找所有用户db.getUsers();

创建不受限制的超级用户

use admin

db.createUser(    {      user: "superuser",      pwd: "12345678",      roles: [ "root" ]    })

list database 需要使用admin库的权限

java 测试代码使用最新的jar

http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/

MongoClientURI uri = new MongoClientURI("mongodb://test:123456@localhost:27017/test");

MongoClient mongoClient = new MongoClient(uri );        

MongoIterabledatabaseNames = mongoClient.listDatabaseNames();

for (String database : databaseNames) {    

   System.out.println(database);

}        

mongoClient.close();

URI格式mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

http://docs.mongodb.org/manual/reference/connection-string/里面有说明

账号连接的时候 如果不指定 数据库 会默认连接 admin 

如果用户没有admin库的权限直接会 说未授权

代码改成下面这样是可以运行的MongoClientURI uri = new MongoClientURI("mongodb://test:123456@localhost:27017/test");

MongoClient mongoClient = new MongoClient(uri );        

MongoDatabase database = mongoClient.getDatabase("test");

MongoIterablecollectionNames = database.listCollectionNames();

for (String cololectionName : collectionNames) {

   System.out.println(cololectionName);

}

mongoClient.close();

上一篇下一篇

猜你喜欢

热点阅读