MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB也是全球成长最快的 NoSQL 数据库。正因如此,很多公司都在使用,因为最近都在学习Python 、Flask,很多个demo都是基于MongoDB的,所在基础的准备还是必须的。
本次仅记录mongodb数据库安装配置与用户角色创建
如果是Ubuntu可以直接运行:
sudo apt-get install mongodb
如果是Centos可以直接运行,但不是最新的,如果要最新的需要配置官方源:
yum install mongodb-server mongodb-client -y
如果是Windows系统需要下载安装包,直接下一步操作:
mongodb官网下载安装:
安装完成后需要配置成系统服务:
在D盘下创建一个目录:D:\MongoDB\ 同时有logs和db两个目录
创建一个D:\MongoDB\mongod.conf
文件内容如下:
########################################
systemLog:
destination: file
###日志存储位置
path: D:\MongoDB\logs\mongod.log
logAppend: true
storage:
##journal配置
journal:
enabled: true
##数据文件存储位置
dbPath: D:\MongoDB\data\db
##是否一个库一个文件夹
directoryPerDB: true
##数据引擎
engine: wiredTiger
##WT引擎配置
wiredTiger:
engineConfig:
##WT最大使用cache(根据服务器实际情况调节)
cacheSizeGB: 1
##是否将索引也按数据库名单独存储
directoryForIndexes: true
##表压缩配置
collectionConfig:
blockCompressor: zlib
##索引配置
indexConfig:
prefixCompression: true
##端口配置
net:
port: 27017
########################################
因为我安装的目录是D盘下的。
启动一个CMD命令窗口,需要以管理员身份运行:
D:\MongoDB\Server\3.4\bin\mongod.exe --config "D:\MongoDB\Server\3.4\mongod.conf" --install --serviceName "MongoDB"
完成后就可以在控制面板—-管理工具—-服务 里看到一个名为MongoDB的服务了,自己可以选择开机启动或者手动;
如果启动有异常可以查看配置文件中定义的日志文件,当服务启动成功后就可以通过客户端连接了。
然后直接在CMD命令行打mongo进入数据库shell操作
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Server has startup warnings:
2017-09-21T09:51:49.573+0800 I CONTROL [initandlisten]
2017-09-21T09:51:49.573+0800 I CONTROL [initandlisten] ** WARNING: Access contr
ol is not enabled for the database.
2017-09-21T09:51:49.573+0800 I CONTROL [initandlisten] ** Read and wri
te access to data and configuration is unrestricted.
2017-09-21T09:51:49.573+0800 I CONTROL [initandlisten]
2017-09-21T09:51:49.573+0800 I CONTROL [initandlisten] Hotfix KB2731284 or late
r update is not installed, will zero-out data files.
2017-09-21T09:51:49.573+0800 I CONTROL [initandlisten]
>
创建一个数据库叫 blog,并添加一个数据库账号,如下:
use <数据库名> :进入一个数据库。 如果没有该数据库,你进入后创建collection,mongo就会创建一个新的数据库。
如果不添加数据直接退出时数据库blog是不会存在的。
db.createCollection(<文档名>): 创建一个collection,相当于mysql里面的table
下面我们创建一个数据库,并创建两个后面需要用到的collection。
> use blog
switched to db blog
> db.createCollection("role")
{ "ok" : 1 }
> db.createCollection("user")
{ "ok" : 1 }
role:用于保存用户角色
user:用于保存用户基本信息,包括邮箱,密码等
给数据库blog创建一个数据库具有读写权限的账号:
> use blog
> db.createUser(
{
user: "test",
pwd: "123456",
roles: [ { role: "readWrite", db: "blog" } ]
}
)
当看到下面的信息就表示成功加入数据了。
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "blog"
}
]
}
好了,数据库都搞定了
也可以使用一些图形化的工具参考一下数据的结构:mongobooster、Mongo VUE
http://s3.mongobooster.com/download/3.5/mongobooster-3.5.7.exe
效果: