見出し画像

AWS(Amazon Linux2)にMySQLをインストールしたもの。

 お仕事のスキルアップを目的としてSQLの学習を行うために、AWS(Amazon Linux2)にMySQLをインストールして学習環境を作成しようとしたものです。
 Linux環境へのデータベースソフトウェアのインストール作業を初めて実施したことからエラーを出して躓いたことを含め、私にとって有意義なものでした。
 今回実施した作業に関して、下記のとおり記載していきたいと思います。

1.実施内容

AWSにおけるデータベースソフトの標準がMariaDBであったため、それをアンインストールしてMySQLをインストールして使用可能にする。

2.使用環境等

(1)環境
 AWS提供のEC2(Amazon Linux2)
(2)インストール対象のソフトウェア
 MySQL version8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)

3.主な手順

(1)yumコマンドのアップデート確認
 yumコマンドが最新のものであるか、アップデートコマンドを実行して確認する。
 更新対象があれば下記のコマンドにより更新される。

$ sudo yum update

(2)MariaDBのアンインストール
 本来これをアンインストールしてからでないとMySQLをインストールできないのに途中まで忘れていた手順。
 下記のコマンドでMariaDBのパッケージをアンインストールする。

$ sudo yum remove mariadb*

(3)MySQLのリポジトリをインストール
 AWSのデータベースの標準ソフトウェアがMariaDBであったため、MySQL関連のソースを下記のコマンドでインストールする。

$ sudo yum -y install https://dev.mysql.com/get/mysql80-community-release-e17-1.noarch.rpm

(4)MySQLのリポジトリの有効化
 下記のコマンドによりリポジトの有効化を実施する。

$ sudo yum-config-manager --enable mysql80-community

 ​(5)関連パッケージのインストール
 ①下記のコマンドでmysql-community-serverのパッケージをインストールする。
 途中でインストールの確認で応答依頼が来るので「y」で回答する。

$ sudo yum install --enablerepo=mysql80-community mysql-community-server

 ②下記のコマンドでのパッケージをインストールする。
 途中でインストールの確認で応答依頼が来るので「y」で回答する。

$ sudo yum install --enablerepo=mysql80-community mysql-community-devel

(6)MySQLのインストール
 下記のコマンドによりMySQLをインストールする。

$ sudo yum -y install mysql-community-server

(7)バージョンの確認
 下記のコマンドによりMySQLのバージョンを確認する。
 2行目のとおりインストール時のおける最新版が表示されれば問題なし。
 (本作業日は2021/08/24)

$ mysqld --version
/usr/sbin/mysqld  Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)

(8)MySQLの起動及び自動起動の有効化
 ①下記のコマンドによりMySQLのサービスを起動させる。

$ sudo systemctl start mysqld.service

 ②下記のコマンドによりインスタンスが再起動(または起動)した際にMySQLのサービスを自動で起動するように設定変更を実施する。

$ sudo systemctl enable mysqld.service

(9)MySQLのステータス確認
 下記のコマンドによりMySQLのステータスを確認する。
 実行すると2行目以降に現在のステータスが表示される。

$ sudo systemctl status mysqld.service
● mysqld.service - MySQL Server
  Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
  Active: active (running) since 火 2021-08-24 17:01:07 JST; 6h ago
    Docs: man:mysqld(8)
          http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 20339 (mysqld)
  Status: "Server is operational"
  CGroup: /system.slice/mysqld.service
          └─mq20339 /usr/sbin/mysqld

 ここまでの手順でMySQLのインストールは完了になります。
 ここから継続してrootユーザによるログインをする手順になります。

(10)rootユーザのパスワード調査
 MySQLバージョン5.7以降はインストール完了時にパスワードが自動生成されるとのことなのでログインパスワードを調査する必要がある。
 生成されたパスワードはMySQLのログに出力されるため下記のコマンドによりログの内容を確認してみる。

$ sudo cat /var/log/mysqld.log

 コマンド実行するとログの中に下記のようなパスワードを示唆するような一文を発見できる。
 rootユーザの後続「:」以降に記載された内容がrootユーザのパスワードなるため現時点で控える。

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost:

(11)rootユーザによるログイン
 MySQLへの初回ログインは下記のコマンドにより実行する。
 その際にパスワードを求められるので(10)で調べたパスワードを入力し、ログインする。

$ mysql -u root -p;

(12)rootユーザのパスワードを変更
 rootユーザのパスワードを任意のパスワードへと変更する。
 変更に当たっては下記のクエリを実行することで行う。

> ALTER USER 'root'@'localhost' identified BY '任意のパスワード';

この手順をもってrootユーザによるログインを実行しやすい状態にして、MySQLによるデータベースを使用可能な状態にすることが出来ました。

4.さいごに

 今回、学習環境構築のためにMySQLをインストールするにあたって、MariaDBとの競合によるインストールエラーや初回ログインで躓いてしまいました。
 ですが、過去の先達の方々の記事を検索して発見できたことで何とかインストールから初回ログインでの作業を実施することが出来ました(本当に感謝です)。
 今回は自分がネット検索等を駆使して実行した手順をこのnoteに記載しております。
 もし、同様のことを実施しようとしている人がいた場合の参考資料となれば幸いですし、自身がこの時にどのような手段でインストールを実施したのか備忘録としても役立つので本記事を保存します。

この記事が気に入ったらサポートをしてみませんか?