(三)云MongoDB-1:Install MongoDB in AWS EC2 Linux

适合第一次简单配置。

连接EC2并进入root权限模式

1-创建EC2实例

修改实例选择安全群组:Networking->Change Security Groups

配置所属安全群组入站规则:

SSH; HTTP; HTTPS

2-连接EC2云主机

Connect->勾选EC2

3-进入root权限下 [5]

# Linux
sudo passwd root
su root

安装MongoDB Server

3-安装

3.1-创建MongoDB3.0安装文件

注意此处用到的名词为:mongodb, mongod,mongo。同时,保持在root权限下安装(会避免麻烦,虽然部分语句加sudo字段可以运行成功)。

# Linux
vi /etc/yum.repos.d/mongodb-org-3.0.repo

进入文件,添加如下代码并保存退出:[13]

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

3.2-安装并启动MongoDB服务

# Linux
sudo yum install -y mongodb-org

启动服务

# Linux
sudo service mongod start

配置开机自启动

# Linux
sudo chkconfig mongod on

测试MongDB服务,此步骤结束一个简单的MongoDB服务已经被配置安装完成。

# Linux
mongo

配置用户登录访问

4-用户登录

4.1-添加用户信息

进入到数据库admin,添加用户登录名称和密码。配置用户登录权限。[13]

# mongo
use admin
# mongo
db.createUser(
{
user: "${user_name}", 
pwd: "${userpassword}",
roles: [ { role: "${privileges}", db: "${database_name}" } ]
}
)

权限"userAdminAnyDatabase"表示CUID;权限”readWrite“表示写与读。[13]

上面代码块中的代码是示例代码,下面是一个真实的例子:

# mongo
db.createUser(
{
user: "lcy",
pwd: "123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

4.2-开启用户登录验证

进入服务配置文件并修改security字段。

# Linux
vi /etc/mongod.conf

一下字段注意空格(否则重启服务时会报错,如果出现错误见引用[12])

security:
authorization: "enabled"

4.3-重启服务

# Linux
service mongod restart

配置远程访问

配置远程访问

5-远程访问

5.1-修改配置文件

# Linux
vi /etc/mongod.conf

修改配置文件中bindIp为0.0.0.1,使得修改后的配置在任何Ip地址下可以访问此实例下的MongoDB服务(也可以按照引用[9]中的字段配置:127.0.0.0.1, ${pubilc_ip_EC2_instance},目前没有尝试):

bindIp: 0.0.0.1

5.2-修改防火墙

开启27017端口:[11]

# Linux
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

5.3-重启服务

# Linux
service mongod restart

测试连接

6-测试

6.1-方法一:EC2主机中测试 [11]

# Linux
# mongo ${public_ip_EC2_instance}:27017
mongo 54.29.87.01:27017

6.2-方法二:python连接MongoDB服务

# python
# package importing
import pymongo
from pymongo import MongoClient

# connect the service
client = MongoClient()
# client = MongoClient("mongodb://${user_name}:${user_passwd}@${public_ip_EC2_instance}:27017")
client = MongoClient("mongodb://chenyang:123@50.15.93.96:27017")

拓展阅读:

1-部署MongoDB涉及的服务:

Amazon EC2:“Amazon Elastic Compute Cloud(Amazon EC2)服务使您能够使用各种操作系统启动虚拟机实例。您可以选择现有的亚马逊机器映像(AMI)或导入自己的虚拟机映像。

用途:AWS web服务器 和 Mongodb服务的载体”[1]

Amazon VPC: “亚马逊虚拟私有云(Amazon VPC)服务允许您配置AWS云的专用隔离部分,以便在您定义的虚拟网络中启动AWS服务和其他资源。您可以完全控制虚拟网络环境,包括选择您自己的IP地址范围,创建子网以及配置路由表和网关。

用途 : 构建mongodb 网络” [1]

Amazon EBS: "Amazon Elastic Block Store(Amazon EBS)提供持久性块级存储卷,以用于AWS Cloud中的EC2实例。每个EBS卷都会在其可用区域内自动复制,以防止组件发生故障,从而提供高可用性和持久性。EBS卷提供运行工作负载所需的一致性和低延迟性能。

用途:mongodb存储" [1]

AWS CloudFormation:“AWS CloudFormation为您提供了一种创建和管理相关AWS资源集合的简便方法,并以有序且可预测的方式提供和更新它们。

用途:根据配置,调用资源进行自动化创建服务。”[1]

IAM:“AWS身份和访问管理(IAM)使您能够安全地控制对用户的AWS服务和资源的访问。借助IAM,您可以从中央位置管理用户,安全证书(如访问密钥)以及控制哪些AWS资源用户可以访问的权限。“[1]

2-Linux修改文件

Insert键(或者按字母i键)->修改文件->Esc键+:wq

"

:w 保存文件但不退出

:w! 强制保存,不退出

:wq 保存文件退出

:wq! 保存文件退出

" [4]

3-用户配置新建数据库

见引用[8]。另外引用[7]中说明了使用用户登录远程访问的具体步骤。

4-一些在安装时可能遇到的错误(目前没有遇到)

见引用:[6], [10]

5-可参考的部分相关代码

见引用:[2], [3]

推荐阅读:

[1] 'AWS mongodb部署(官方推荐实现)', CSDN, Apirl 2018, Avaliable at: AWS mongodb部署(官方推荐实现)_Andy Tools-CSDN博客_aws mongodb

[2] 'Centos 安装MongoDB', cnblog, Apirl 2020, Avaliable at: Centos 安装MongoDB - Hackerman - 博客园

[3] '在亚马逊amazon的AWS上安装Node和MongoDB服务器', CSDN, February 2016, Avaliable at: 在亚马逊amazon的AWS上安装Node和MongoDB服务器_weixin_34275734的博客-CSDN博客

[4] 'linux修改文件内容如何保存退出', CSDN, October 2021, Avaliable at: linux修改文件内容如何保存退出_m0_55289425的博客-CSDN博客_linux修改文件后怎么保存退出

[5] '在aws ec2上使用root用户登录', cnblog, October 2017, Avaliable at: 在aws ec2上使用root用户登录 - 绅士也疯狂 - 博客园

[6] ' MongoDB报错 Failed to connect 127.0.0.1:27017 Mongo运行错误 ', cnblog, November 2016, Avaliable at: 1.MongoDB报错 Failed to connect 127.0.0.1:27017 Mongo运行错误 - WWSASUKE - 博客园

[7] '从python配置并连接到远程mongodb', CSDN, August 2020, Avaliable at: 从python配置并连接到远程mongodb_weixin_26749889的博客-CSDN博客

[8] ' mongodb创建数据库用户名和密码_mongodb给数据库创建用户密码', CSDN, January 2021, Avaliable at: mongodb创建数据库用户名和密码_mongodb给数据库创建用户密码_林桂鑫的博客-CSDN博客

[9] ' mongodb 可视化_远程连接云服务器上的MongoDB-配置', CSDN, December 2020, Avaliable at: mongodb 可视化_远程连接云服务器上的MongoDB-配置_weixin_39783915的博客-CSDN博客

[10] ' MongoDB报错: Failed to start mongod.service: Unit mongodb.service is masked', 简书, May 2019, Avaliable at: MongoDB报错: Failed to start mongod.service: Unit mongodb.service is masked - 简书

[11] 'mongodb远程连接配置', cnblog, July 2017, Avaliable at: mongodb远程连接配置 - 今孝 - 博客园

[12] ' mongodb开启安全认证后无法启动', CSDN, June 2019, Avaliable at: mongodb开启安全认证后无法启动_weixin_33922670的博客-CSDN博客

[13] '8 Simple steps to install MongoDB with authentication on EC2 AMI Linux', Solution Analysts, Avaliable at: 8 Simple steps to install MongoDB with authentication on EC2 AMI Linux - Solution Analysts

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为什么会这样[user_mongo@nosql01 replicaset]$ cd /opt [user_mongo@nosql01 opt]$ ll total 0 drwxr-xr-x. 3 root root 25 Mar 16 17:08 servers drwxr-xr-x. 2 root root 51 Mar 16 17:10 software [user_mongo@nosql01 opt]$ tar -zxvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/MPL-2 tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/MPL-2: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/README tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/README: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors [user_mongo@nosql01 opt]$ tar -zcvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ tar: Cowardly refusing to create an empty archive Try `tar --help' or `tar --usage' for more information.
最新发布
06-01

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值