美文网首页我爱编程
MongoDB服务基本命令

MongoDB服务基本命令

作者: 凉初透的风 | 来源:发表于2018-04-23 19:51 被阅读0次

    1.创建一个存放MongoDB的文件夹,例如: E:\MongoDB

    2.在此文件夹中创建三个文件夹,分别为:data、etc、logs

    3.在etc文件夹中创建一个文件,名为mongo.conf,并且将下面内容复制进去

    #数据库数据存放目录

    dbpath=E:\MongoDB\data\

    #数据库日志存放目录

    logpath=E:\MongoDB\logs\mongodb.log

    #以追加的方式记录日志

    logappend=true

    #端口号 默认为27017

    port=27017

    #开启用户认证,开启后需要用用户密码去登录使用

    auth=true

    #关闭http接口,默认关闭http端口访问

    #nohttpinterface=true

    #mongodb所绑定的ip地址

    bind_ip = 127.0.0.1

    #启用日志文件,默认启用

    journal=true

    #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false

    quiet=true

    第一种启动服务的方法:

    mongod --dbpath c:\data\db --logpath c:\data\logs --auth

    说明:此命令为启动mongodb服务,dbpath后的为保存数据的地址,logpath为日志,可不填,auth可不加,加了之后需要用户登录来操作数据库

    第二种启动服务的方法:

    可使用config去启动服务,此方法较为简单,如下:

    mongod --config E:\MongoDB\etc\mongo.conf

    若需要将mongodb注册为windows服务的话,可使用一下命令:

    mongod --config E:\MongoDB\etc\mongo.conf --install --serviceName "MongoDB"

    执行完成后可以在windows服务中查看到该服务,若不想自定义服务名字,install后面的命令可以不写

    注册完了windows服务后,可以直接启动windows服务来启动mongodb服务,命令如下:

    net start MongoDB

    若需要关闭服务可以使用如下命令:

    net stop MongoDB

    若需要删除此windows服务可以使用如下命令:

    sc delete MongoDB

    启动服务后,另开一个窗口,执行 “mongo” 来操作mongodb

    注意:如果使用--auth启动服务的话,操作mongodb需要使用用户来登录

    mongo --port 27017 -u "adminUser" -p "adminPass" --authenticationDatabase "admin"

    可不加端口,默认端口就是27017

    另外一种方法,使用use.dbbasename进入数据库中,“dbbasename”为数据库名字

    然后使用db.auth("username", "password"),即可操作数据库,username为用户名,password为密码

    use.admin

    db.createUser({user: "admin", pwd: "admin", roles: [“root”]})

    db.create({user: "root", pwd: "666666", roles: [{role: "dbOwner", db: "dumall"}]})

    其中role对应的是角色权限,db对应的是数据库

    以下是对应的角色权限:

    (1).数据库用户角色

    针对每一个数据库进行控制

    read :提供了读取所有非系统集合,以及系统集合中的system.indexes, system.js, system.namespaces

    readWrite: 包含了所有read权限,以及修改所有非系统集合的和系统集合中的system.js的权限

    (2).数据库管理角色

    每一个数据库包含了下面的数据库管理角色

    dbOwner:该数据库的所有者,具有该数据库的全部权限

    dbAdmin:一些数据库对象的管理操作,但是没有数据库的读写权限

    userAdmin:为当前用户创建、修改用户和角色。拥有userAdmin权限的用户可以将该数据库的任意权限赋予任意的用户

    (3).集群管理权限

    admin数据库包含了下面的角色,用户管理整个系统,而非单个数据库。这些权限包含了复制集和共享集群的管理函数

    clusterAdmin:提供了最大的集群管理功能。相当于clusterManager, clusterMonitor, and hostManager和dropDatabase的权限组合

    clusterManager:提供了集群和复制集管理和监控操作。拥有该权限的用户可以操作config和local数据库(即分片和复制功能)

    clusterMonitor:仅仅监控集群和复制集

    hostManager:提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repairDatabase等 备份恢复权限:admin数据库中包含了备份恢复数据的角色。包括backup、restore等等

    (4).所有数据库角色

    admin数据库提供了一个mongod实例中所有数据库的权限角色

    readAnyDatabase:具有read每一个数据库权限。但是不包括应用到集群中的数据库

    readWriteAnyDatabase:具有readWrite每一个数据库权限。但是不包括应用到集群中的数据库

    userAdminAnyDatabase:具有userAdmin每一个数据库权限,但是不包括应用到集群中的数据库

    dbAdminAnyDatabase:提供了dbAdmin每一个数据库权限,但是不包括应用到集群中的数据库

    (5). 超级管理员权限

    root: dbadmin到admin数据库、useradmin到admin数据库以及UserAdminAnyDatabase。但它不具有备份恢复、直接操作system.*集合的权限,但是拥有root权限的超级用户可以自己给自己赋予这些权限

    (6). 备份恢复角色:backup、restore

    (7). 内部角色:__system

    使用命令导入文件数据到相应的collection中,可以使用如下命令:

    mongoimport  -d  dumall  -c  goods  --file  E:\dumall-goods  -u  "username"  -p  "password"

    说明:dumall为数据库名,goods为集合名,file后为文件路径,最后面的是用户名和密码,未使用auth启动服务可不添加

    相关文章

      网友评论

        本文标题:MongoDB服务基本命令

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