31歳ほぼ未経験からIT業界へ転職。備忘録と勉強になればと思いサイトを立ち上げました。

IT技術のあれこれ

AWS

AWSのEC2にMySQLをインストール

投稿日:

スポンサーリンク

AWSのEC2にMySQLをインストールしてテストしようとしたのですが、Amazon Linux2では、どうやら標準では、MariaDBを採用しているようで、MySQLをインストールしようとしたらエラーになり、少々ハマったので、備忘録として残していきます。

環境

OS:Amazon Linux2
MySQL:8.0.20

 

 

MySQLのインストール失敗

MySQLをインストール

sudo yum install -y mysql57-server

MySQLのサービスをスタート

systemctl start mysqld.service

エラーメッセージが表示

Failed to start mysqld.service: Unit not found.

 

 

MySQLのインストール成功

AWSのインバウンドルールのセキュリティに、ポート「3306」を追加します。

aws_ec2_mysql-install_01

 

MariaDBのアンインストール

MySQLのインストール前に、MariaDBをアンインストールします。

sudo su -

sudo yum -y remove mariadb-libs

 

yumリポジトリのインストール設定

sudo yum -y localinstall http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

 

インストールできるMySQLのバージョン確認

sudo yum info mysql-community-server

 

MySQLをインストール

sudo yum -y install mysql-community-server

 

MySQLのバージョン確認

sudo mysqld --version

 

認証プラグインの設定

MySQL8.0からは、認証プラグインが新規追加され「caching_sha2_password」となったようです。

暗号化として、SHA-256を使用して、より強固なパスワードの暗号化を提供し、キャッシュを利用することで、同一ユーザの認証処理を高速化する、認証プラグインのようです。

ただ、接続元のクライアント側でも「caching_sha2_password」を採用している必要があるため、従来の「mysql_native_password」に変更する設定をします。

cd /etc

vi my.cnf

 

「my.cnf」の末尾に設定を追加します。

default_authentication_plugin=mysql_native_password

 

MySQLの起動

設定が完了したら、起動します。

sudo systemctl start mysqld

 

起動したことの確認をします。

sudo systemctl status mysqld

 

自動起動の設定をします。

sudo systemctl enable mysqld

 

MySQLを起動すると、初回の起動で、一時パスワードがログに出力されるので、確認します。

cat /var/log/mysqld.log

A temporary password is generated for root@localhost: f)lw1(awKd)4

※今回のパスワードは「f)lw1(awKd)4」になります。

初期設定をしていきます。

mysql_secure_installation

現在のパスワード:入力

新パスワード:入力

 

MySQLにログイン

mysql -u root -p

 

-AWS
-,

Copyright© IT技術のあれこれ , 2024 AllRights Reserved.