阿里云搭建MongoDB+远程连接实现MongoDB应用(PHP版)

时间:2024-05-22 22:50:12

                             MongoDB云服务器搭建连接说明文档

一、下载

  1. MongoDB下载地址: (选择MongoDB4.0版本): http://dl.mongodb.org/dl/win32/x86_64
  2. MongoDB Compass(可视化操作界面)下载地址:https://www.mongodb.com/download-center#compass
  3. MongoDB PHP版扩展下载地址:(选择5.6 Thread Safe(TS)*64版本):http://pecl.php.net/package/mongo/1.6.16/windows

二、云服务器MongoDB搭建

      1.远程连接首要解决:

  • 进入云服务器ECS-->网络和安全-->安全组-->创建安全组-->配置规则 配置开放端口(本文以port=40000为例);
  • 关闭云服务器和远程连接端防火墙;

      2.MongoDB分片集群:

       阿里云搭建MongoDB+远程连接实现MongoDB应用(PHP版)

    (1)修改配置文件使服务器可被远程连接:

  • 下载MongoDB,特别注意安装的最后一步左下角不要勾选“install mongodb compass”;
  • C:\Program Files\MongoDB\Server\4.0\bin目录下打开mongod.cfg文件,修改bindip=127.0.0.1为bindip=0.0.0.0;
  • 电脑搜索“服务”,找到MongoDB Server服务,鼠标右击选择重新启动即可;

    (2)创建相关文件夹及日志文件:

  • C:\Program Files\MongoDB目录下创建shard分片文件夹;
  • C:\Program Files\MongoDB\shard目录下创建文件夹conf(配置服务器),log(日志文件),rs(分片);
  • C:\Program Files\MongoDB\shard\conf目录下创建文件夹conf1,conf2,conf3(配置服务器副本集,至少3个);
  • C:\Program Files\MongoDB\shard\rs目录下创建文件夹rsa1,rsa2,rsa3,rsb1,rsb2,rsb3,rsc1,rsc2,rsc3 (创建了三个分片,每个分片三个副本集);
  • C:\Program Files\MongoDB\shard\log目录下创建日志文件conf1.log,conf2.log,conf3.log,rsa1.log,rsa2.log,rsa3.log,rsb1.log,rsb2.log,rsb3.log,rsc1.log.rsc2.log,rsc3.log, route.log(日志文件创建方法:打开记事本另存为 - >保存类型“所有文件” - >文件名“conf1.log”);

   (3)创建分片rsa(创建的每个副本集命令行程序都不能关闭):

A.创建副本集rsa1:

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入mongod --port=27020 --dbpath "C:\Program Files\MongoDB\shard\rs\rsa1" --logpath "C:\Program Files\MongoDB\shard\log\rsa1.log" --logappend --shardsvr --replSet=rsa

B.创建副本集rsa2:

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入mongod --port=27021 --dbpath "C:\Program Files\MongoDB\shard\rs\rsa2" --logpath "C:\Program Files\MongoDB\shard\log\rsa2.log" --logappend --shardsvr --replSet=rsa

C.创建副本集rsa3:

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入mongod --port=27022 --dbpath "C:\Program Files\MongoDB\shard\rs\rsa3" --logpath "C:\Program Files\MongoDB\shard\log\rsa3.log" --logappend --shardsvr --replSet=rsa

D.配置分片rsa(配置完可关闭):

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 键入mongo localhost=27020
  • 键入rs.initiate({_id: 'rsa', members: [{_id: 0, host: 'localhost:27020'}, {_id: 1, host: 'localhost:27021'},{_id: 2, host: 'localhost:27022'}]}) ——初始化分片rsa

同上可创建分片rsb,rsc,标红处是根据实际分片需更改的地方;

(4)创建配置服务器conf (创建的每个副本集程序都不能关闭):

A.创建副本集conf1:

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入mongod --port=27100 --dbpath "C:\Program Files\MongoDB\shard\conf\conf1" --logpath "C:\Program Files\MongoDB\shard\log\conf1.log" --logappend --configsvr --replSet=conf;

B.创建副本集conf2:

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入mongod --port=27101 --dbpath "C:\Program Files\MongoDB\shard\conf\conf2" --logpath "C:\Program Files\MongoDB\shard\log\conf2.log" --logappend --configsvr --replSet=conf;

C.创建副本集conf3:

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入mongod --port=27102 --dbpath "C:\Program Files\MongoDB\shard\conf\conf3" --logpath "C:\Program Files\MongoDB\shard\log\conf3.log" --logappend --configsvr --replSet=conf;

D.配置服务器conf(配置完可关闭):

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 键入mongo localhost=27100
  • 键入rs.initiate({_id: 'conf', members: [{_id: 0, host: 'localhost:27100'}, {_id: 1, host: 'localhost:27101'},{_id: 2, host: 'localhost:27102'},{_id: 3, host: 'localhost:27102'}]});

(5)创建查询:

A.创建路由服务器(创建的服务器不能关闭):

  • 打开命令行键入 cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 接着键入 mongos --port=40000 --bind_ip=192.168.2.79 --configdb conf/localhost:27100,localhost:27101,localhost:27102 --logpath " C:\Program Files \MongoDB\shard\log\route.log" --logappend;    ——使用内网地址创建mongos

B.配置路由服务器(配置完可关闭):

  • 打开命令行键入cd C:\Program Files\MongoDB\Server\4.0\bin;
  • 依次键入 mongo 192.168.2.79:40000
  • use admin ——mongos所有操作都需在admin中
  • db.runCommand({ addshard:'rsa/localhost:27020,localhost:27021,localhost:27022'})  ­——服务器中添加分片rsa
  • db.runCommand({ addshard:'rsb/localhost:27030,localhost:27031,localhost:27032'})
  • db.runCommand({ addshard:'rsc/localhost:27040,localhost:27041,localhost:27042'})
  • db.runCommand({ enablesharding: 'panda'})  ——创建分片数据库
  • sh.shardCollection("panda.data", { _id: "hashed" } ) ——哈希散列存储方式创建集合data,存储于panda数据库中

注:只有第一次需要配置分片和相关服务器,但以后每次使用该数据库和打开MongoDB Compass之前还是需要如以上方式创建出所有分片副本集、配置服务器副本集以及路由服务器;

2.MongoDB Compass:

作为MongoDB的GUI,直接打开此工具,输入内网或公网IP和路由服务器端口号port=40000即可查看整个分片集群文档结构,方便高效地进行文档查询,同时也可直接将集合导出为JSON格式保存至本地。如果还需查看具体分片,可再connect到localhost,端口号输入对应分片主节点,但注意副节点不可进行查看和操作,主副节点是mongodb自主通过选举机制得出,可通过该分片任一副本集打开mongo程序,键入rs.status()查看具体选举情况。

例:打开命令行依次键入

  • cd C:\Program Files\MongoDB\Server\4.0\bin
  • mongo localhost=27030
  • rs.status()

​​​​​​​三、远程实现MongoDB应用

1.修改配置文件以连接云服务器:

  • 同样需下载MongoDB,特别注意安装的最后一步左下角不要勾选“install mongodb compass”;
  • C:\Program Files\MongoDB\Server\4.0\bin目录下打开mongod.cfg文件,修改bindip=127.0.0.1为bindip=0.0.0.0;
  • 电脑搜索“服务”,找到MongoDB Server服务,鼠标右击选择重新启动即可;

​​​​​​​2.MongoDB Compass:

直接打开此工具,输入公网IP和路由服务器端口号port=40000即可查看整个云服务器的分片集群文档结构,方便高效地进行文档查询,云服务器也会同步更新。

3.MongoDB PHP版扩展搭建:

详见小白之前发表的一篇博客MongoDB PHP扩展搭建与应用(windows版)

LAST:小白一路踩坑填坑,终于能上线跑了……但毕竟作为阿里云、腾讯云等企业最贵的数据库之一,如果人人都能轻易搭建做好管理,收费还有什么意义呢……所以祝你好运