时间:2021-07-01 10:21:17 帮助过:20人阅读
1. 自定义安装(解压)到:
- <code class="hljs css"><span class="hljs-selector-tag">D</span>:\<span class="hljs-selector-tag">Program</span> <span class="hljs-selector-tag">Files</span>\<span class="hljs-selector-tag">mongodb-win32-x86_64-2008plus-ssl-3</span><span class="hljs-selector-class">.6</span><span class="hljs-selector-class">.11</span></code>
2. 配置系统环境变量path:
3. 在安装路径下创建文件夹和文件:
- "/data" 和 "/log" 两个文件夹("/data"文件夹下,用于存放数据库源数据;"/log"文件夹下,用于存放logger日志);
- 在data文件夹下创建"/db"空文件夹;
- 在log文件夹下创建"mongo.log"空文件。
注:其实data和log两个文件夹,在何处创建都无所谓,依个人习惯。关键在于下一步骤,"mongo.config"配置内容中,"dbpath"和"logpath"所指向的路径。
为将重要文件与非重要文件分离,以便数据移植,故data文件夹与log文件夹分开创建。
4. 在安装路径下创建配置文件“mongo.config”,并写入以下内容:
- <code class="hljs perl"><ol class="hljs-ln"><li><span class="hljs-comment">#数据库文件的存放位置</span></li><li>dbpath=D:\Program Files\mongodb-win32-x86_64-<span class="hljs-number">2008</span>plus-ssl-<span class="hljs-number">3.6</span>.<span class="hljs-number">11</span>\data\db</li><li> </li><li><span class="hljs-comment">#日志文件存放的路径</span></li><li>logpath=D:\Program Files\mongodb-win32-x86_64-<span class="hljs-number">2008</span>plus-ssl-<span class="hljs-number">3.6</span>.<span class="hljs-number">11</span>\<span class="hljs-keyword">log</span>\mongo.log</li></ol></code>
5. 以“超级管理员身份”运行"cmd",创建MongoDB管理服务,输入以下命令:
- <code class="hljs css"><span class="hljs-selector-tag">mongod</span> <span class="hljs-selector-tag">--config</span> "<span class="hljs-selector-tag">D</span>:\<span class="hljs-selector-tag">Program</span> <span class="hljs-selector-tag">Files</span>\<span class="hljs-selector-tag">mongodb-win32-x86_64-2008plus-ssl-3</span><span class="hljs-selector-class">.6</span><span class="hljs-selector-class">.11</span>\<span class="hljs-selector-tag">mongo</span><span class="hljs-selector-class">.config</span>" <span class="hljs-selector-tag">--install</span> <span class="hljs-selector-tag">--serviceName</span> "<span class="hljs-selector-tag">MongoDB</span>"
- </code>
启动MongoDB服务命令(同样要使用“超级管理员身份运行”):
- <code class="hljs sql">net <span class="hljs-keyword">start</span> MongoDB
- </code>
关闭MongoDB服务命令:
- <code class="hljs vbscript">net <span class="hljs-keyword">stop</span> MongoDB
- </code>
6. 启动服务完成后,win + R直接运行"cmd",输入"mongo"即可运行。
显示信息如下:
C:\Users\PC>mongo
MongoDB shell version v3.6.11
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.11
Server has startup warnings:
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten]
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten]
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost.
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.
2019-03-13T15:36:39.950+0800 I CONTROL [initandlisten]
>
mongo.config文件详解:
- <code class="hljs objectivec"><ol class="hljs-ln hundred"><li><span class="hljs-meta"># 端口号,默认27017</span></li><li><span class="hljs-meta">#port=27017</span></li><li> </li><li><span class="hljs-meta"># 数据库文件位置</span></li><li>dbpath=/data/db</li><li> </li><li><span class="hljs-meta">#日志文件位置</span></li><li>logpath=/log/mongo.log</li><li> </li><li><span class="hljs-meta"># 是否追加方式写入日志,默认True</span></li><li>logappend=<span class="hljs-literal">true</span></li><li> </li><li><span class="hljs-meta"># 设置绑定ip</span></li><li>bind_ip = <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span></li><li><span class="hljs-meta"># 设置端口</span></li><li>port = <span class="hljs-number">27017</span></li><li> </li><li><span class="hljs-meta"># 是否以守护进程方式运行,默认false</span></li><li>fork = <span class="hljs-literal">true</span></li><li> </li><li><span class="hljs-meta">#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false</span></li><li>quiet=<span class="hljs-literal">false</span></li><li> </li><li><span class="hljs-meta"># 启用日志文件,默认启用</span></li><li>journal=<span class="hljs-literal">true</span></li><li> </li><li><span class="hljs-meta"># 启用定期记录CPU利用率和 I/O 等待,默认false</span></li><li><span class="hljs-meta">#cpu = true</span></li><li> </li><li><span class="hljs-meta"># 是否以安全认证方式运行,默认是不认证的非安全方式</span></li><li><span class="hljs-meta">#noauth = true</span></li><li><span class="hljs-meta">#auth = true</span></li><li> </li><li><span class="hljs-meta"># 详细记录输出,默认false</span></li><li><span class="hljs-meta">#verbose = true</span></li><li> </li><li><span class="hljs-meta">#用于开发驱动程序时验证客户端请求</span></li><li><span class="hljs-meta">#objcheck = true</span></li><li> </li><li><span class="hljs-meta"># # 启用数据库配额管理,默认false</span></li><li><span class="hljs-meta">#quota = true</span></li><li> </li><li><span class="hljs-meta"># 设置oplog日志记录等级,默认0</span></li><li><span class="hljs-meta"># 0=off (default)</span></li><li><span class="hljs-meta"># 1=W</span></li><li><span class="hljs-meta"># 2=R</span></li><li><span class="hljs-meta"># 3=both</span></li><li><span class="hljs-meta"># 7=W+some reads</span></li><li><span class="hljs-meta">#oplog = 0</span></li><li> </li><li><span class="hljs-meta"># 是否打开动态调试项,默认false</span></li><li><span class="hljs-meta">#nocursors = true</span></li><li> </li><li><span class="hljs-meta"># 忽略查询提示,默认false</span></li><li><span class="hljs-meta">#nohints = true</span></li><li> </li><li><span class="hljs-meta"># 禁用http界面,默认为localhost:28017</span></li><li><span class="hljs-meta">#nohttpinterface = true</span></li><li> </li><li><span class="hljs-meta"># 关闭服务器端脚本,这将极大的限制功能,默认false</span></li><li><span class="hljs-meta">#noscripting = true</span></li><li> </li><li><span class="hljs-meta"># 关闭扫描表,任何查询将会是扫描失败</span></li><li><span class="hljs-meta">#notablescan = true</span></li><li> </li><li><span class="hljs-meta"># 关闭数据文件预分配</span></li><li><span class="hljs-meta">#noprealloc = true</span></li><li> </li><li><span class="hljs-meta"># 为新数据库指定.ns文件的大小,单位:MB</span></li><li><span class="hljs-meta"># nssize = <span class="hljs-meta-string"><size></span></span></li><li> </li><li><span class="hljs-meta"># 用于Mongo监控服务器的Accout token。</span></li><li><span class="hljs-meta">#mms-token = <span class="hljs-meta-string"><token></span></span></li><li> </li><li><span class="hljs-meta"># Mongo监控服务器的服务器名称。</span></li><li><span class="hljs-meta">#mms-name = <span class="hljs-meta-string"><server-name></span></span></li><li> </li><li><span class="hljs-meta"># Mongo监控服务器的Ping间隔时间,即心跳</span></li><li><span class="hljs-meta">#mms-interval = <span class="hljs-meta-string"><seconds></span></span></li><li> </li><li><span class="hljs-meta"># Replication Options</span></li><li> </li><li><span class="hljs-meta"># 设置主从复制参数</span></li><li><span class="hljs-meta">#slave = true # 设置从节点</span></li><li><span class="hljs-meta">#source = master.example.com # 指定从节点的主节点</span></li><li><span class="hljs-meta"># Slave only: 指定要复制的单个数据库</span></li><li><span class="hljs-meta">#only = master.example.com</span></li><li><span class="hljs-meta"># or</span></li><li><span class="hljs-meta">#master = true # 设置主节点</span></li><li><span class="hljs-meta">#source = slave.example.com </span></li><li> </li><li><span class="hljs-meta"># 设置副本集的名字,所有的实例指定相同的名字属于一个副本集</span></li><li>replSet = name</li><li> </li><li><span class="hljs-meta">#pairwith = <span class="hljs-meta-string"><server:port></span></span></li><li> </li><li><span class="hljs-meta"># 仲裁服务器地址</span></li><li><span class="hljs-meta">#arbiter = <span class="hljs-meta-string"><server:port></span></span></li><li> </li><li><span class="hljs-meta"># 默认为false,用于从实例设置。是否自动重新同步</span></li><li><span class="hljs-meta">#autoresync = true</span></li><li> </li><li><span class="hljs-meta"># 指定的复制操作日志(OPLOG)的最大大小</span></li><li><span class="hljs-meta">#oplogSize = <span class="hljs-meta-string"><MB></span></span></li><li> </li><li><span class="hljs-meta"># 限制复制操作的内存使用</span></li><li><span class="hljs-meta">#opIdMem = <span class="hljs-meta-string"><bytes></span></span></li><li> </li><li><span class="hljs-meta"># 设置ssl认证</span></li><li><span class="hljs-meta"># Enable SSL on normal ports</span></li><li><span class="hljs-meta">#sslOnNormalPorts = true</span></li><li> </li><li><span class="hljs-meta"># SSL Key file and password</span></li><li><span class="hljs-meta">#sslPEMKeyFile = /etc/ssl/mongodb.pem</span></li><li><span class="hljs-meta">#sslPEMKeyPassword = pass</span></li><li> </li><li><span class="hljs-meta"># path to a key file storing authentication info for connections</span></li><li><span class="hljs-meta"># between replica set members</span></li><li><span class="hljs-meta">#指定存储身份验证信息的密钥文件的路径</span></li><li><span class="hljs-meta">#keyFile=/path/to/keyfile</span></li></ol></code>
MongoDB集群基本配置:
- <code class="hljs php"><ol class="hljs-ln"><li><span class="hljs-comment"># 集群配置文件</span></li><li>dbpath=/<span class="hljs-keyword">var</span>/lib/mongodb</li><li>logpath=/<span class="hljs-keyword">var</span>/log/mongodb/mongodb.log</li><li>pidfilepath=/<span class="hljs-keyword">var</span>/log/mongodb/master.pid</li><li>directoryperdb=<span class="hljs-keyword">true</span></li><li>logappend=<span class="hljs-keyword">true</span></li><li>replSet=name</li><li>bind_ip=<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span></li><li>port=<span class="hljs-number">27017</span></li><li>fork=<span class="hljs-keyword">true</span></li><li>noprealloc=<span class="hljs-keyword">true</span></li></ol></code>