美文网首页我爱编程
MongoDB 简易入门 学习(一)

MongoDB 简易入门 学习(一)

作者: 雪与龍 | 来源:发表于2017-11-30 01:05 被阅读0次

用MongoDB一定要开用户认证。
一些可视化的软件已经加入了这个认证,连接数据库时容易报错。

注:网上的一些文章比较零散;找起来不方便。小白的我找了多久,看了几篇文章才弄明白。所以下面是我的学习记录,方便自己。因学习Python要用到MongoDB,所以后面以Python操作。

1. 下载mongoDB

官网下载

下载社区版(免费)

image

安装就不记录了。

我的安装路径是:D:\Program Files\MongoDB\Server\3.4\

下面有用到安装路径的地方,请对照自己的路径。

2. 关于启动MongoDB

有几种方法,相同的地方都是:

在你想放置数据的地方,新建文件夹(MongoDB自身不会新建,只会报错)

我用的路径是:H:\MongoDB\data\db (不一定按这个,只建议最后一个文件夹用db,以记录这是数据库文件夹)

方法1:

使用CMD(命令提示符,不知道请问度娘),打开安装路径

下面中用了一个小技巧: 在填写了文件夹第一个字母后用TAB键,选择你需要的名字。

image

注:一些文章中要把路径D:\Program Files\MongoDB\Server\3.4\bin 加入环境变量PATH,这只是简化上面的转入安装路径的动作。在CMD可以直接做下一步。

打入:

mongod --dbpath H:\MongoDB\data\db 

后会出面一些日志文字。会就看看,不会就先放一边,不要关掉。(注意路径中有空格,请用mongod --dbpath "H:\MongoDB\data\db")

用浏览器打开网址 http://127.0.0.1:27017/

或者 localhost:27017

如果出现下面提示,恭喜你,MongoDB已经启动了。 如果没有,要查看CMD中的提示,看那里错了。

image

关闭MongoDB 比较简单,在刚刚的CMD中按下Ctrl+C

这个方法比较简单,但每次使用就很麻烦。每次都要用CMD打入指令。同时日志不方便保存。

方法2:

安装为Windows服务,之后可以通过服务功能(win+r 打开运行 输入 services.msc)打开,也可以在CMD中用net start MongoDB 开启 ;net stop MongoDB 关闭

注意:CMD需要以管理员身份运行
注意:CMD需要以管理员身份运行
注意:CMD需要以管理员身份运行

image

操作如下,在数据库路径H:\MongoDB\data\ 下增加一个文件夹log,用于存放日志。

在安装目录,或者在数据库目录下,新建名为: "mongo.conf" 的文件。我是放在D:\Program Files\MongoDB\Server中

内容如下:

dbpath=H:\MongoDB\data\db #数据库路径
logpath=H:\MongoDB\data\log\mongo.log #日志输出文件路径
logappend=true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
journal=true #启用日志文件,默认启用
quiet=false #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
auth=false #启用用户登陆认证,第一次使用要设置为false,之后启用true(第一次使用MongoDB是没有建立用户)

将内容中路径改为自己的

和方法1一样,在CMD中进入安装目录

image

打入

mongod --config "D:\Program Files\MongoDB\Server\mongo.conf" --install --serviceName "MongoDB"

在服务功能 启动MongoDB 或者在CMD中打入net start MongoDB

image

最后,用浏览器测试服务是否启动:

http://127.0.0.1:27017/

或者localhost:27017

3. 初步使用MongoDB

A.连接数据库

使用CMD

如果在环境变量加入了安装路径。就直接打入

mongo

不然就要用CD进入安装路径

image

再打入mongo了


image.png

也可以在安装目录下

image.png

启动mongo

使用可视化工具

还没有使用,待补充。

B.建立用户

在MongoDB中用户是与数据库关联的,用户只能操作对应的数据库,(PS:除admin数据库下的用户)
下面是以CMD的方式建立新用户:#后为注释不需要输入

use admin  #设置当前数据库(字面就用数据库admin),admin是默认最高权限数据库

db.createUser({user: "admin", pwd: "admin",roles: [{role: "root", db: "admin"} ] } )
#建立用户信息 用户名:admin;密码:admin;权限信息[用户角色:root(超级用户),对应数据库:admin]

image.png

PS:用Python建立用户的方式

import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017/')
#连接mongo
client.admin.add_user('admin','admin',roles=[{'role':'root','db':'admin'}])
#在admin数据库中新增用户:用户名admin;密码:admin;权限信息[用户角色:root(超级用户),对应数据库:admin]

下面是系统内置角色的介绍。

Database User Roles 普通用户角色

read        允许用户读取数据库(只读)
readWrite   允许用户读写数据库

Database Administration Roles 数据库管理员角色

dbAdmin       允许用户在数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
dbOwner       单数据库最大权限,是readWrite、dbAdmin与userAdmin的结合体
userAdmin     允许用户向system.users集合写入,可以数据库里创建、删除和管理用户(管理数据库用户)
 
Cluster Administration Roles  集群管理员角色
clusterAdmin    管理者最大权限,是以下三者的结合体
clusterManager  供管理和监视操作。以分别访问配置、分片和复制集相关函数
clusterMonitor  提供监视工具只读访问
hostManager     提供监视和管理服务器的能力

Backup and Restoration Roles  备份和恢复角色

backup      只有备份数据库能力
restore     只有恢复数据库能力

All-Database Roles 所有数据库角色

readAnyDatabase       在admin下建立,可以读取所有数据库的信息(类似于所有数据库的read账户)
readWriteAnyDatabase  在admin下建立,可以读写所有数据库的信息(类似于所有数据库的readWrite账户)
userAdminAnyDatabase  在admin下建立,可以管理所有数据库的用户(类似于所有数据库的userAdmin账户)
dbAdminAnyDatabase    在admin下建立,可以管理所有数据库的信息(类似于所有数据库的dbAdmin账户)

Superuser Roles 超级用户角色

root 在admin下建立,超级账号,超级权限;与win中的administrator相似

具体权限,请查看MongDB文档

建立用户后,重启MongoDB,建议启用auth=true,以提高安全性。

C.认证登录

用CMD连接MongDB后

use admin
db.auth('admin','admin') #登陆数据库,用户名:admin,密码:admin。

image.png

用Python认证的方法有多种,下面列出其中二种:

import pymongo

#方法一
client = pymongo.MongoClient('mongodb://localhost:27017/')
#建立和数据库系统的连接,创建Connection时,指定host及port参数
db_auth = client.admin
db_auth.authenticate("admin", "admin")
#admin 数据库有帐号,连接-认证-切换库
db = client.mydb
#连接需要的数据库

#方法二
client = pymongo.MongoClient('mongodb://admin:admin@localhost:27017/admin')
#建立和数据库系统的连接,创建Connection时,指定host,port参数,认证用户,密码及用户对应数据库
db = client.mydb
#连接需要的数据库

以上是安装与启动的学习记录。

作者:xueyulong

链接:http://www.jianshu.com/p/a62ccbdbb5a8

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • MongoDB 简易入门 学习(一)

    用MongoDB一定要开用户认证。一些可视化的软件已经加入了这个认证,连接数据库时容易报错。 注:网上的一些文章比...

  • MonogoDB入门教程01

    注:本系列教程是自己学习的记录,内容来至 菜鸟教程MongoDB入门教程01MongoDB入门教程02MongoD...

  • MongoDB入门教程03

    注:本系列教程是自己学习的记录,内容来至 菜鸟教程MongoDB入门教程01MongoDB入门教程02MongoD...

  • MongoDB入门教程02

    注:本系列教程是自己学习的记录,内容来至 菜鸟教程MongoDB入门教程01MongoDB入门教程02MongoD...

  • MongoDB入门教程04

    注:本系列教程是自己学习的记录,内容来至 菜鸟教程MongoDB入门教程01MongoDB入门教程02MongoD...

  • MongoDB入门教程05

    注:本系列教程是自己学习的记录,内容来至 菜鸟教程MongoDB入门教程01MongoDB入门教程02MongoD...

  • MongoDB 笔记一:入门与坑

    MongoDB 笔记一:入门与坑 为啥要先讲mongoDB而不是 入门 MongoDB既然是NOSQL数据库,使用...

  • 合并 mongodb 子文档

    【摘要】 Mongodb 的 BSON 存储格式灵活多样,有助于 MongoDB 的入门学习。有集算器 SPL 语...

  • mongodb入门学习

    Mongodb: 启动命令 ./mongod –f mongodb.conf 配置文件示例 dbpath = /u...

  • MongoDB 入门学习

    MongoDB 教程 MongoDB 教程、NoSQL 简介、MongoDB 简介、Windows MongoDB...

网友评论

    本文标题:MongoDB 简易入门 学习(一)

    本文链接:https://www.haomeiwen.com/subject/glgpbxtx.html