这是在 Red Hat Enterprise Linux 版本 7 (RHEL7) 上相对快速设置 MySQL 5.7.14。
我不隶属于 AWS;我只是喜欢使用他们的服务。
确保您拥有 AWS EC2 账户。请注意,即使亚马逊需要信用卡存档,如果您遵守他们的Free-tier 条款,第一年也不会产生任何费用。通常,这意味着单个微实例 (1 Gb RAM) 服务器 24/7 运行。
启动 EC2 RHEL 实例
第 1 步: 在 AWS EC2 上单击“启动实例”并选择“Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16”,如下图所示。请注意,可用或升级的 AMI(亚马逊机器实例)的版本将随着时间的推移而轮换,这是在撰写本文时。但是上面的文字中显示了AMI编号。
通常,我选择 Amazon Linux AMI 作为我的发行版。我不再这样做了,因为这是他们自己的大杂烩,自然不确定要选择哪个包管理器以及文件。所以我现在坚持使用 RHEL。
在“选择实例类型”屏幕上,选择符合免费套餐条件的实例类型,如下所示:
单击下一步。在下一个详细信息屏幕上,单击“下一步”以接受默认值。在存储屏幕上将大小更改为 16GB,然后单击“下一步”。然后在标签信息上再次“下一步”。接下来是下图所示的“配置安全组”屏幕:
现在接受“? 创建新的安全组”的单选按钮。注意 SSH 端口 22 对具有0.0.0.0/0CIDR 的所有(任何地方)IP 地址开放。其他选项包括检测“我的 IP”(如您的)或“自定义”。请放心,下一个屏幕访问将根据我们将设置的安全密钥锁定。在打开的端口下有一个添加规则按钮,用于添加 MySQL 3306 或 HTTP 80 等端口。但现在我们将跳过它。记下安全组名称。现在填写一个或接受默认值。正确执行此操作并不重要,因为稍后可以为正在运行的 Instance 更改安全组。点击查看并启动。
然后单击“启动”(不要担心,它还不会启动)。如下一个屏幕所示:
请注意,由于我已经生成了一些密钥对,因此在第一个下拉菜单中默认为“选择现有密钥对”。否则,您使用给定的提醒名称“创建一个新的密钥对”并继续“下载密钥对”。此时,您将密钥对作为.pem 文件。以最大的安全性对待它,将其保存到您不会丢失的地方。最好在密码保护区域中,例如在您的操作系统用户目录下。
当您最终在同一屏幕上单击“启动实例”时,会根据该密钥对(刚刚创建的或预先存在的密钥对)进行启动。请注意,密钥对的生成可能是您每年只执行一次的任务。一次又一次地重复使用密钥对,由您决定。
启动实例后,您大约有五分钟的时间才能启动它。在 Instances 左侧菜单项下,当 Instance State 显示为“running”且 Status Checks 显示为“2/2 pass”时,您知道该实例处于活动状态:
还记得您下载的.pem 文件吗?好吧,只有一次您需要为 PuTTY 创建一个 .ppk 文件,这是一个 SSH 客户端程序,它将以加密方式与您正在运行的实例进行通信。为此,我们使用与 PuTTY 配合使用的 puttygen 工具。所以我们运行puttygen,加载几分钟前下载的.pem,并生成带有“密钥密码”的.ppk文件,例如“I & love%ancHovies2_fjdi8Ha”。下面是puttygen的图片:
还有名为 Connecting to Your Linux Instance from Windows Using PuTTY 的 AWS EC2 页面。这些步骤是文件/加载私钥。将过滤器更改为所有文件 (.)。找到.pem 文件。点击“打开”,然后点击“确定”。输入密码。单击“保存私钥”,并将其与.ppk 文件和.pem 文件一起保存在同一文件夹中。如前所述,这不是您可能会做的事情,而是每年一次。
现在运行 SSH 客户端 PuTTY。将会话/主机名用作类似
ec2-user@ec2-www-xxx-yyy-zzz.us-west-2.compute.amazonaws.com
所以它基本上是ec2-user@ 与 EC2 控制面板上的实例下看到的公共 DNS 名称连接。至于指定 PuTTY .ppk 文件,如下所示,在“浏览”按钮旁边选择了 .ppk 文件:
返回到下图左上方的 Session 层次结构,在 Saved Sessions 下为其命名,然后点击“Save”。以后加载 PuTTY 时,只需按名称加载会话:
不要忘记,您在这里所做的只是将.ppk 引用保存到一个友好的命名配置文件中。您可能偶尔需要更改主机名(当然,当您在 EC2 上保存实例映像并在后续启动时使用新的实例 IP 地址返回时)。
好吧,这并不容易。但事实就是如此。
当您单击“打开”时,它将尝试连接到您的 RHEL 实例。在签名警告上点击是。输入之前保存的.ppk Key Passphrase,您应该会看到 Linux 提示符。
MySQL 安装(我会把这些笔记放在 GitHub 上)
URL01: Download MySQL Yum Repository
URL02: Chapter 1 Installing MySQL on Linux Using the MySQL Yum Repository
您现在已在 EC2 上加载并运行 MySQL 5.7.14,并设置了数据库和用户。您的服务器需要进行映像。请参阅我的这个答案here 创建图像(AMI)。备份您的数据。请参阅 EC2 文档,例如 Best Practices for Amazon EC2。
回到安全性:最佳实践当然建议不要打开您的数据库以通过端口 3306 的安全组直接连接。您选择如何坚持这一点是您的选择,例如使用 PHP、Java 或其他编程 API。请注意,各种 db 客户端程序可以通过 MySQL Workbench 等 SSH 隧道连接。此外,SSH 隧道存在各种开发库,但开发起来并不容易(主要是由于密钥链困难和缺乏丰富的开发经验)。例如,有一个用于 C# here。
此外,AWS 还提供 RDS 和其他数据库产品,以减少手动操作并像上面那样自行滚动。许多开发人员以 EC2 为目标的原因是因为您有一个完整的服务器用于您的其他编程计划。
如果您确实如前所述修改了安全组,请考虑使用基于 CIDR 条目的 IP 范围,并在过度暴露您的数据存储之前谨慎行事。或过度授予。与您在本地工作中所采用的最佳做法大致相同。
关于这个 MySQL 部分,我上面几张图片的 GitHub 笔记位于Here。