繁体   English   中英

如何在 Amazon ec2 上安装 MySQL 5.7

[英]How to install MySQL 5.7 on Amazon ec2

如何在 Amazon EC2 的云中安装 MySQL 5.7?

我看到的大多数亚马逊机器实例 (AMI) 要么没有任何 MySQL 服务器,要么拥有旧版本,例如 MySQL Server 5.5

我想用最新最好的。

这是在 Red Hat Enterprise Linux 版本 7 (RHEL7) 上相对快速地设置 MySQL 5.7.14。

我不隶属于 AWS; 我只是喜欢使用他们的服务。

确保您拥有 AWS EC2 账户。 请注意,即使亚马逊要求提供信用卡存档,但如果您遵守其免费套餐条款,则第一年不会产生任何费用。 通常,这意味着运行 24/7 的单个微实例 (1 Gb RAM) 服务器。

启动 EC2 RHEL 实例

步骤 1:在 AWS EC2 上单击“Launch Instance”并选择“Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16”,如下图所示。 请注意,可用或提升的 AMI(亚马逊机器实例)的版本将随着时间的推移而轮换,截至撰写本文时。 但是 AMI 编号显示在上面的文本中。

在此处输入图片说明

通常,我选择 Amazon Linux AMI 作为我选择的发行版。 我不再这样做了,因为它是他们自己的大杂烩,并且自然不确定要选择哪个包管理器以及文件。 所以我现在坚持使用 RHEL。

在“Choose an Instance Type”屏幕上,选择符合条件的免费套餐实例类型,如下所示:

在此处输入图片说明

单击下一步。 在下一个详细信息屏幕上单击“下一步”以接受默认值。 在存储屏幕上将大小更改为 16GB,然后单击“下一步”。 然后在标签信息上再次“下一步”。 接下来是“配置安全组”屏幕,如下图:

在此处输入图片说明

现在接受“🔘 创建新安全组”的单选按钮。 注意 SSH 端口 22 对具有0.0.0.0/0 CIDR 的所有(任何地方)IP 地址开放。 其他选项包括检测“我的 IP”(如您的 IP)或“自定义”。 请放心,下一个屏幕访问将根据我们将设置的安全密钥锁定。 在打开的端口下有一个添加规则按钮,可以添加 MySQL 3306 或 HTTP 80 等端口。但现在我们将跳过它。 记下安全组名称。 填写一项或暂时接受默认值。 正确执行此操作并不重要,因为稍后可以为正在运行的Instance更改安全组。 单击“查看并启动”。

然后单击“启动”(不要害怕,它还不会启动)。 正如下一个屏幕所示:

在此处输入图片说明

请注意,由于我已经生成了一些密钥对,因此在第一个下拉列表中默认为“选择现有密钥对”。 否则,您使用给定的提醒名称“创建新的密钥对”并继续“下载密钥对”。 此时,您已将密钥对作为.pem文件。 以最大的安全性对待它,将其保存在不会丢失的地方。 最好在密码保护区域,例如在您的操作系统用户目录下。

当您最终在同一屏幕上单击“启动实例”时,启动与该密钥对(刚刚创建的或预先存在的)相关。 请注意,密钥对的生成可能是您每年仅执行一次的任务。 一次又一次地重新使用密钥对,由您决定。

启动实例后,大约有五分钟时间它就会上线。 在 Instances 左侧菜单项下,当实例状态显示为“正在运行”并且状态检查显示为“2/2 已通过”时,您就知道该实例处于活动状态:

在此处输入图片说明

还记得您下载的.pem文件吗? 有一次,您需要为 PuTTY 创建一个.ppk文件,PuTTY 是一个 SSH 客户端程序,它将加密安全地与您正在运行的实例进行通信。 为此,我们使用与 PuTTY 协调工作的puttygen工具。 因此,我们运行 puttygen,加载几分钟前下载的.pem ,并生成带有“密钥密码”的.ppk文件,例如“I & love%ancHovies2_fjdi8Ha”。 下面是puttygen的图片:

在此处输入图片说明

以及名为“ 使用 PuTTY 从 Windows 连接到您的 Linux 实例”的 AWS EC2 页面。 步骤是文件/加载私钥。 将过滤器更改为所有文件 ( . )。 找到.pem文件。 点击“打开”,然后“确定”。 输入密码。 单击“保存私钥”,并将其与.pem文件一起保存在与.ppk文件相同的文件夹中。 如前所述,这不是您可以每年做的事情。

现在运行 SSH 客户端 PuTTY。 使用会话/主机名作为类似

ec2-user@ec2-www-xxx-yyy-zzz.us-west-2.compute.amazonaws.com

因此,它基本上是ec2-user@与公有 DNS 名称连接,该名称可在 EC2 控制面板上的实例下看到。 至于指定 PuTTY .ppk文件,它将如下所示,在 Browse 按钮​​旁边选择.ppk文件:

在此处输入图片说明

返回到如下所示的会话左上角层次结构,在 Saved Sessions 下为其指定一个配置文件名称,然后点击“Save”。 此后,当您加载 PuTTY 时,您只需按名称加载会话:

在此处输入图片说明

不要忘记,您在这里所做的几乎就是将.ppk引用保存到一个友好的命名配置文件中。 并且您可能偶尔需要更改主机名(当然,当您在 EC2 上保存实例映像并在后续启动时使用新的实例 IP 地址返回时)。

好吧,这并不容易。 但就是这样。

当您单击打开时,它将尝试连接到您的 RHEL 实例。 在签名警告上点击是。 输入之前保存的.ppk Key Passphrase,您应该会看到 Linux 提示符。

MySQL 安装(我会把这些笔记放在 GitHub 上)

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

URL01:下载 MySQL Yum 存储库

URL02:第 1 章使用 MySQL Yum 存储库在 Linux 上安装 MySQL

您现在已加载 MySQL 5.7.14 并在 EC2 上运行,并设置了数据库和用户。 您的服务器需要进行映像。 看到这个答案在这里我的创建映像(AMI的)。 备份您的数据。 请参阅 EC2 文档,例如Amazon EC2 的最佳实践

回到安全性:最佳实践当然建议不要打开您的数据库以通过端口 3306 的安全组直接连接。您选择如何遵守这一点是您的选择,例如使用 PHP、Java 或其他编程 API。 请注意,各种 db 客户端程序可以通过 SSH 隧道连接,例如 MySQL Workbench。 此外,SSH Tunnels 存在各种开发库,但它们并不是非常容易开发(主要是由于密钥链困难和缺乏丰富的开发人员经验)。 例如,有一个C#在这里

此外,AWS 还提供 RDS 和其他数据库产品,以减少手动操作和像上述那样自行滚动。 许多开发人员针对 EC2 的原因是因为您拥有用于其他编程计划的完整服务器。

如果您确实如前所述修改了安全组,请考虑使用基于 CIDR 条目的 IP 范围,并在过度暴露您的数据存储之前谨慎行事。 或过度授予。 与本地工作的最佳实践大致相同。

关于这个 MySQL 部分,我上面几张图片的 GitHub 笔记位于这里

我遇到了同样的问题,但我不想使用 Red Hat 或 Amazon Linux AMI 以外的任何其他操作系统。 所以,这里是安装 MySQL 5.7 和升级旧版本的过程。

短路径(无截图)

wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
yum localinstall mysql57-community-release-el6-11.noarch.rpm
yum remove mysql55 mysql55-common mysql55-libs mysql55-server
yum install mysql-community-server
service mysqld restart
mysql_upgrade -p

长路(附截图)

首先,为了验证您可以检查当前版本。 在此处输入图片说明

然后,您应该下载 EL6 11 的 repo

wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm

在此处输入图片说明

接下来,进行本地安装:

yum localinstall mysql57-community-release-el6-11.noarch.rpm

在此处输入图片说明

这可能是成功安装的关键。 你应该删除以前的包,关于 MySQL 5.5

yum remove mysql55 mysql55-common mysql55-libs mysql55-server

在此处输入图片说明

最后,您可以安装 MySQL 5.7

yum install mysql-community-server

在此处输入图片说明

重新启动 MySQL 服务器并升级您的数据库

service mysqld restart
mysql_upgrade -p

在此处输入图片说明

您可以通过对 MySQL 进行身份验证来验证您的安装

在此处输入图片说明

sudo yum install mysql57-server

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM