如何在阿里云上建立Mongo DB数据库并且用Mongo DB Compass客户端连接数据库
1.先安装宝塔:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
2.在阿里云服务器 ECS的安全,添加两条入方向访问规则。设置优先级100,协议选择自定义TCP,访问来源设置IPV4 0.0.0.0/0,访问目的设置端口号:11111,点击选择11111.提交。设置优先级100,协议选择自定义TCP,访问来源设置IPV4 0.0.0.0/0,访问目的设置端口号:17066,点击选择17066.提交。


3.设置centos的防火墙,放行端口:11111和17066。
sudo systemctl start firewalld
sudo firewall-cmd --zone=public --add-port=11111/tcp --permanent
sudo firewall-cmd --zone=public --add-port=11111/udp --permanent
sudo firewall-cmd --zone=public --add-port=17066/tcp --permanent
sudo firewall-cmd --zone=public --add-port=17066/udp --permanent
sudo firewall-cmd --reload
sudo systemctl status firewalld
# 验证端口是否已开放
sudo firewall-cmd --zone=public --list-ports
2.登录宝塔:
https://118.104.120.103:11111/home
3.在宝塔上安装MongoDB。
4.在宝塔首页页面设置MongoDB配置:bindIp设置0.0.0.0;port设置17066,最后不要用默认的27017;开启安全认证,设置root密码(如:123456)。不设置0.0.0.0外网不能访问,不开启安全认证,知道你的IP和端口号谁都能登录。重启MongoDB。
5.在宝塔的数据库中找到MongoDB,添加本地数据库,填写数据库名称gbd_order;添加远程数据库:数据库地址填写:127.0.0.1;端口号填写17066;密码填写123456.重启服务器。
6.在本地命令行ping服务器地址:
(base) apple@CQIMAC-L1A9Q05R GroupBuyParkingSpace % ping 118.104.120.103
PING 118.104.120.103 (118.104.120.103): 56 data bytes
64 bytes from 118.104.120.103: icmp_seq=0 ttl=53 time=15.357 ms
64 bytes from 118.104.120.103: icmp_seq=1 ttl=53 time=14.767 ms
64 bytes from 118.104.120.103: icmp_seq=2 ttl=53 time=14.916 ms
7.在本地命令行测试是否能登录数据库:
(base) CQIMAC-L1A9Q05R:GroupBuyParkingSpace apple$ telnet 118.104.120.103 17066
Trying 118.104.120.103...
telnet: connect to address 118.104.120.103: Operation timed out
telnet: Unable to connect to remote host
代表本地无法连接服务器的数据库,就是外网无法访问服务器的数据库。一般是bindIp不是设置0.0.0.0或系统防火墙没有放行端口或阿里云服务器 ECS的安全没有正确添加入方向访问规则放行端口号。
(base) CQIMAC-L1A9Q05R:GroupBuyParkingSpace apple$ telnet 118.104.120.103 17066
Trying 118.104.120.103...
Connected to 118.104.120.103.
Escape character is '^]'.
代表成功。
8.Mongo DB Compass客户端设置连接字符串:mongodb://root:123456@118.104.120.103:17066/gbd_order/?authSource=admin&useNewUrlParser=true&useUnifiedTopology=true。保存并连接。
若报错:
mongodb://root:123456@118.104.120.103:17066/gbps_order/?authSource=admin&useNewUrlParser=true&useUnifiedTopology=true 本地访问数据数据库成功,远程连接数据库报错:{"remote":"124.90.248.132:5228","client":"conn159","doc":{"application":{"name":"MongoDB Compass"},"driver":{"name":"nodejs","version":"6.21.0"},"platform":"Node.js v22.21.1, LE","os":{"name":"darwin","architecture":"arm64","version":"24.6.0","type":"Darwin"}}}}
{"t":{"$date":"2026-01-27T14:15:27.950+08:00"},"s":"I", "c":"ACCESS", "id":20249, "ctx":"conn159","msg":"Authentication failed","attr":{"mechanism":"SCRAM-SHA-256","speculative":true,"principalName":"root","authenticationDatabase":"admin","remote":"124.90.248.132:5228","extraInfo":{},"error":"AuthenticationFailed: SCRAM authentication failed, storedKey mismatch"}}
{"t":{"$date":"2026-01-27T14:15:27.969+08:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn158","msg":"Connection ended","attr":{"remote":"124.90.248.132:6765","uuid":"c8c1f0b7-eb5e-4e9a-b47a-f4fafa71fa4e","connectionId":158,"connectionCount":1}}
{"t":{"$date":"2026-01-27T14:15:27.971+08:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn159","msg":"Connection ended","attr":{"remote":"124.90.248.132:5228","uuid":"6919bf98-7b06-4edc-9f6b-0ec476e61fc9","connectionId":159,"connectionCount":0}}
在宝塔首页检查Mongo DB数据库是否正常启动,然后检查第4,5,6,7步。并且检查/www/server/mongodb下的bin是否是一个文件夹,并且里面有问题件。我遇到过检查bin是一个文件,很不正常,通过重装Mongo DB,重复第4,5,6,7步才解决。