簡體   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