mongodb 设置只读_服务器

1、安装MongoDB服务器

这里你直接看我之前写的一篇博文“windows 上如何正确安装MongoDB”;

实际上,安装MongoDB服务器只需四步:
1、到官网下载MongoDB,并解压;
2、把/bin目录添加到系统路径;
3、创建数据文件路径,即是<mongo_data_location>/data/db ;

2、在控制台中启动MongoDB:

mongod  -dbpath  <mongo_data_location>/data/db

mongod的命令行参数:

参 数

说 明

–help, -h

返回基本帮助和用法文本

–version

返回MongoDB版本号

–config <文件名>,-f <文件名>

指定包含运行时配置的配置文件

–verbose, -v

增加发送到控制台,并且写入–logpath规定的日志文件的内部报告数量

–quiet

减少发送到控制台和日志文件的报告数量

–port <端口>

指定MongoDB来监听客户端的链接的IP地址,默认值是27017

–maxConns <编号>

指定Mongod接受并发连接的数量,最大值是20000.

–logPath <路径>

指定日志文件路径。在重启时,日志文件会被覆盖,除非你还指定–logappend

–auth

对从远程主机上连接数据库的用户用数据库身份验证。

–dbpath <路径>

指定Mongd实例用来存储其数据的目录

–nohttppinterface

禁用HTTP接口

–nojournal

禁用日志

–noprealloc

禁止预分配数据文件,从而缩短启动时间。但是,可能会在正常的操作期间内造成明显的性能损失。

–repair

在所有数据库上运行修复程序

–bind_ip

指定Mongod绑定和监听连接的IP地址,默认的是All Interface(所有的接口)

3、启动MongoD

mongod -dbpath   <mongo_data_location>/data/bin  

或者
mongod  -port  28008  -dbpath <mongo_data_location>/data/bin*

4、停止MongoDB

打开MongoDB的shell客户端(在控制台窗口中执行以下命令来打开shell客户端):

$ mongo

打开shell后,通过以下形式关闭指定数据库:

use  admin    // 切换到指定数据库,这里是admin数据库
    db.shutdownServer()    // 立即关闭admin数据库

5、从shell客户端访问MongoDB的方法。

一旦你进入MongoDB shell就能管理MongoDB的各个方面。注意,MongoDB shell 是基于JavaScript的,因此它也就能够支持大多数的JavaScript的语法。此外,shell提供了对服务器上数据库和集合的直接访问。所以,在shell中的更改和执行的任务将直接影响到服务器上的数据和它的性能。

MongoDB的shell命令:
1、help <option>
显示MongoDB语法帮助 ;

2、use <database>
更改MongoDB句柄 ;

3、show <option>

3-1、 dbs
   3-2、collections
   3-3、profile
   3-4、log [ name ]

根据option参数显示清单 ;

  1. 显示数据库清单;
  2. 显示当前数据库的集合清单;
  3. 显示时间超过1毫秒的最新system.profile条目;
  4. 显示登录记忆的最后一段。如果没有指定name, 默认使用global.

4、 exit
退出数据库;

MongoDB shell方法:

1>、load ( script )

在shell的内部加载和运行JavaScript。对数据库进行脚本操作时使用这种方法是最合适的。

2>、UUID ( string )

把32字节的十六进制字符串转换成BSON的UUID

3>、db.auth( username, password )

在当前数据库,对你进行身份验证
完整的列表: https://docs.mongodb.org/manual/reference/method/#native

了解命令的参数和结果:

MongoDB的shell是与MongoDB的数据结构紧密结合的交互式JavaScript shell。
这也就意味着,很多数据交互,从传入方法的参数到从方法所返回的数据,都是标准的MongoDB文档,这在大多数情况下都只是JS对象。

如下代码,创建用户,并传入以下参数定义用户:

db.createUser({ 
                       user: "G-Dragon", 
                       userSource: "test", 
                       roles: [ "read" ],
                       otherDBRRoles: { testDB2: [ "readWrite" ] }
})

>db.system.users.find()

使用shell编写MongoDB脚本

有两种方式来运行mongodb shell脚本:
1>、命令行中,使用–eval。

mongo test  --eval  "printjson( db.getCollectionName() )"

2>、使用load( script_path )方法运行MongoBD shell脚本。
这种方法加载的是一个jS文件, 并且是立即执行。

load("/tmp/db_update.js")  // shell命令,加载并执行db_update.js脚本文件