Amazon Linux2のMariaDBをMySQLに差し替えでつまずいた点

こんにちは、マイロプスエンジニアのFukushimaです。
普段はCakePHP2を使っているのですが新しい挑戦をするために、
今回はAmazon Linux2にCakePHP3の環境構築を行いました。
しかし、環境構築中にMySQLのインストールでつまずいてしまったので
その時の対処法をご紹介します。
今回は、サーバーの立ち上げ、PHP、Apacheのインストール、ドキュメントルートの設定などの説明は省略させていただきます。
まず、今回の環境構築にあたっての仕様です。

AMI : Amazon Linux2
インスタンスタイプ : t2.micro
CakePHP3.8.6
PHP : 7.3.11
MySQL: 5.7.28

今回エラーが起きてしまったのはMySQLのインストール中です、何度やってもうまくいかずエラーが出てしまいました。
原因を調査し続けた結果、CentOS7には「MariaDB」がデフォルトで入っているとのことでした。これが邪魔して、これまでと同じようにMySQLをインストールしようとしてもエラーが出てしまいます。
解決方法ですが既存のMariaDBを削除してMySQLを入れてしまえば良い話でした。

それではここから対処法の紹介です。まず原因のMariaDBを削除しましょう。
下記の2つのコマンドを実行します。

これでMariaDBの削除が完了しました。次にyumにリポジトリを追加します。

以上でMySQLのインストールする準備が出来ました。 それでは下記のコマンドを実行してMySQLをインストールしましょう。

インストールが完了したらMySQLを起動します。

また下記のコマンドでMySQLを自動で起動するように設定します。

続いてMySQLの初期パスワードの確認をします。

上記のコマンドを実行するとテキストが表示され、一番下に対象のテキストがあります。
パスワードは一番後ろの部分です。

今回のパスワードは 「hogehogehoge」。
ログイン後はすぐにパスワードを変えないとデータベースを作成できません。
それでは新しく設定しましょう。下記のコマンドを実行してください。

これでMySQLの設定が完了しました。それではログインしましょう。

次にパスワードの入力を求められるので先ほど設定したパスワードを入力すればログインが完了します。
これでMySQLのエラー問題が解決しました。
これでIPにアクセスすればCakePHPのデフォルト画面が表示されるはずです。
そしてDBへの接続も確認できると思います。
最後に忘れてはいけない作業が一つあります。今回私がインストールしたのはversion 5.7.28です。MySQLは5.7から設定したパスワードに期限がつきます。
そのため、パスワードの有効期限が切れる前に変更するか、有効期限をなしにするいずれかの設定が必要です。
今回はこの説明を省略させていただきます。

以上が今回のMySQLのインストールに対するエラーの対処法でした。
CakePHP3というよりもAMIの仕様につまずいていたみたいです。
今回の経験から得た教訓はサーバーに予め何が入っているのか、仕様をよく把握すべきだったと反省しています。今後また、構築の機会があるのでその点を注意しながら環境構築を行っていこうと思います。

Fukushima

エンジニア

SESを2年経験し、マイロプスに入社。
週末は趣味のバスケットボールをしている。

関連記事

お仕事のご相談、採用についてなど、お気軽にお問い合わせください。