如何在Amazon EC2上安装MySQL 5.7

How to install MySQL 5.7 on Amazon ec2

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

我看到的大多数Amazon Machine Instances(AMI)都没有任何MySQL服务器或拥有旧版本,例如MySQL Server 5.5

我想使用最新的和最大的。


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

好。

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

好。

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

好。

启动EC2 RHEL实例

步骤1:在AWS EC2上,单击"启动实例",然后选择" Red Hat Enterprise Linux 7.2(HVM),SSD卷类型-ami-775e4f16",如下图所示。请注意,可用或升级的AMI(Amazon机器实例)的版本将随着时间推移而轮换,这是本文撰写之时。但是AMI编号显示在文本上方。

好。

enter image description here

好。

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

好。

在"选择实例类型"屏幕上,选择自由层合格的实例类型,如下所示:

好。

enter image description here

好。

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

好。

enter image description here

好。

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

好。

然后单击"启动"(不要害怕,它还不会启动)。下一个屏幕显示:

好。

enter image description here

好。

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

好。

当您最终在同一屏幕上单击"启动实例"时,将相对于该密钥对(刚创建的密钥或已存在的密钥对)进行启动。请注意,密钥对的生成可能是您每年仅执行一次的任务。一次又一次地重复使用密钥对,具体取决于您。

好。

启动实例后,大约需要五分钟才能启动实例。在"实例"左菜单项下,您知道实例状态为"正在运行"且状态检查为" 2/2通过"时,实例已处于活动状态:

好。

enter image description here

好。

还记得您下载的.pem文件吗?只需一次,您就需要为PuTTY创建一个.ppk文件,该文件是一个SSH客户端程序,可以将cry-secured安全地传达给您正在运行的实例。为此,我们使用与腻子配合使用的腻子工具。因此,我们运行puttygen,在几分钟前加载下载的.pem,并使用" I&love%ancHovies2_fjdi8Ha"之类的"关键密码"生成.ppk文件。以下是腻子的图片:

好。

enter image description here

好。

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

好。

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

好。

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

因此,它基本上与ec2-user@与在EC2"控制"面板上的"实例"下看到的"公共DNS"名称连接在一起。关于指定PuTTY .ppk文件,它看起来如下所示,在<浏览>按钮旁边选择了.ppk文件:

好。

enter image description here

好。

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

好。

enter image description here

好。

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

好。

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

好。

单击"打开"时,它将尝试连接到RHEL实例。在签名警告上单击"是"。输入先前保存的.ppk密钥密码,您应该坐在Linux提示符下。

好。

MySQL安装(我将这些说明放在GitHub上)

enter image description here

好。

enter image description here

好。

enter image description here

好。

URL01:下载MySQL Yum存储库

好。

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

好。

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

好。

返回安全性:最佳实践当然建议不要打开数据库以通过端口3306的安全组直接连接。您如何选择遵循该要求,例如使用PHP,Java或其他编程API。请注意,各种数据库客户端程序可以通过SSH隧道(例如MySQL Workbench)进行连接。此外,SSH隧道还提供了各种开发库,但开发起来并不容易(主要是由于困难的密钥链和缺乏广泛的开发人员经验)。例如,这里有一个C#。

好。

此外,AWS还提供了RDS和其他数据库产品,从而减少了动手操作,并且像上面一样滚动您自己的数据库。许多开发人员将EC2定位为目标的原因是由于您拥有用于其他编程计划的功能完备的服务器。

好。

如果您确实如前所述修改了安全组,请考虑使用基于CIDR条目的IP范围,并在过度公开数据存储区之前谨慎使用。或过度授予。与本地工作几乎相同的最佳做法。

好。

关于此MySQL部分,有关以上几张图片的GitHub注释位于此处。

好。

好。


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

短路径(无屏幕截图)

1
2
3
4
5
6
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

长途跋涉(带屏幕截图)

首先,仅需验证即可检查当前版本。
enter image description here

然后,您应该下载EL6 11的仓库

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

enter image description here

接下来,进行本地安装:

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

enter image description here

这可能是成功安装的关键。 您应该删除与MySQL 5.5有关的先前软件包

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

enter image description here

最后,您可以安装MySQL 5.7

1
yum install mysql-community-server

enter image description here

重新启动MySQL Server并升级数据库

1
2
service mysqld restart
mysql_upgrade -p

enter image description here

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

enter image description here


sudo yum install mysql57-server