【AWS】EC2インスタンスにMySQL5.7をインストールする

AWSのEC2インスタンスにMySQLをインストールする方法を紹介します。

AWSのEC2インスタンでは通常のlinuxとは少し異なるamazon-linux-extrasで、コマンドも注視しながらインストールを丁寧に説明をしていきます。

今回のゴール

awsのEC2インスタンスにMySQL5.7をインストールする

MySQLのインストール手順

まずはインスタンスにログインをしておきます。

インストール項目の確認

念のために、amazon-linux-extrasでインストールできるmysqlがあるか確認をします。

awsはバージョンが変わると、インストール項目が変更されることも多いので確認をします。

[test-user@sample-db ~]$ amazon-linux-extras info mysql 
Topic mysql is not found.

amazon-linux-extrasではデフォルトでmariadbがインストールされています。

今回のゴールは最終的にMySQLをインストールするのですが、不要なmariadbは削除しておくに越したことはありません。

mariadbがインストールされているかを確認します。

[test-user@sample-db ~]$ yum list installed | grep mariadb
mariadb-libs.x86_64                   1:5.5.68-1.amzn2                 installed

最終的に、MySQL公式のyumリポジトリを追加してインストールする際に、mariadbと入れ替えが行われるために、mariadbは削除する必要はここではありません。

MySQLをインストール後に再度同じコマンド(yum list installed | grep mariadb)を実行して、きちんと入れ替わりを確認するために初手でコマンドを実行しました。

インストールの実行

続いてインストールを進めていきます。

リポジトリの追加

先ずはmysql8.0のリポジトリ(いわゆる収納庫)の追加を実行します。

今回はmysql5.7のインストールを目標としていますがmysql8.0のリポジトリにmysql5.7が含まれています。

オプション -y は全ての問い合わせに自動的にyesと答えるコマンドになっています。

[test-user@sample-db ~]$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y

MySQL8.0リポジトリの無効化

MySQL8.0をインストールさせないために、MySQL8.0のリポジトリを無効化させます。

[test-user@sample-db ~]$ sudo yum-config-manager --disable mysql80-community

MySQL5.7リポジトリの有効化

MySQL5.7をインストールするために、リポジトリを無効化させます。

[test-user@sample-db ~]$ sudo yum-config-manager --enable mysql57-community

MySQL5.7のインストール

MySQL5.7がインストールできるか確認をします。

[test-user@sample-db ~]$ yum info mysql-community-server

いざinstallコマンドを実行してインストールを実行します。

[dev@food-exam-stage_rdb ~]$ sudo yum install mysql-community-server -y
mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm の公開鍵がインストールされていません


 Failing package is: mysql-community-libs-compat-5.7.37-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

2022年1月18日にMySQL8.0.28がリリースされてから、GPGキーの有効期限切れでインストールができないようになっています。

RPMパッケージをインストールする必要があり、以下のコマンドでエラー回避します。

[test-user@sample-db ~]$ sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

それでは再びインストールコマンドを実行します。

[test-user@sample-db ~]$ sudo yum install mysql-community-server -y
完了しました!

インストールが完了したか確認をします。

[test-user@sample-db ~]$ mysql --version
mysql  Ver 14.14 Distrib 5.7.37, for Linux (x86_64) using  EditLine wrapper

インストール後の確認

念のためにmariadbがアンインストールされているか確認。

コマンド実行しても何も出なければOKです。

最初に実行したコマンドですね。

[test-user@sample-db ~]$ yum list installed | grep mariadb

何も返ってこなかったので、アンインストールが実行されていることを確認できました。

MySQLの起動

インストールができたので早速起動をしましょう。

[test-user@sample-db ~]$ sudo systemctl start mysqld.service

サービスの自動起動も有効にしておきます。

[test-user@sample-db ~]$ sudo systemctl enable mysqld.service

最後にmysqlがきちんと起動しているかを確認します。

[test-user@sample-db ~]$ systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 木 2022-02-03 14:05:38 UTC; 11s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 4141 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─4141 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
 2月 03 14:05:33 sample-db systemd[1]: Starting MySQL Server...
 2月 03 14:05:38 sample-db systemd[1]: Started MySQL Server.

以上。

最後に

いかがでしたでしょうか。

以上が、「【AWS】EC2インスタンスにMySQL5.7をインストールする」の紹介記事になります。

ぜひこちらの記事を参考にあなたの環境にもMySQL5.7をインストールして動かしてみてください。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です