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をインストールして動かしてみてください。




コメントを残す