AWS EC2 AmazonLinux2 MySQLをインストールする


目的

  • AWS EC2 AmazonLinux2にMySQLにインストールする方法をまとめる

実施環境

  • ハードウェア環境
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • ソフトウェア環境
項目 情報 備考
AWS EC2インスタンス AmazonLinux2インスタンス こちらの方法を用いてインスタンスを起動→AWS EC2 をMacで使ってみよう!
MySQLバージョン 8.0.19 for osx10.15 on x86_64 (Homebrew) Homwbrewを用いて導入

最初に

  • 本記事で紹介している$ yum installコマンドではあえて -yオプションを付与していません。(インストールするパッケージを目視で確認するため)何度も何度も「yを入力 → Enter」が出てきて煩わしい方は-yオプションを付けても良いと思います。

前提方法

説明完了時の状況

  • MySQLがインストールされmysqldが正常に起動することができる。

概要

  1. MySQL必要パッケージのインストールと設定
  2. mysqldのステータス確認
  3. rootアカウントにてMySQLにログイン

詳細

  • ※これより実行するコマンドはインスタンスにsshでログインしたターミナルで実行する物とする。
  1. MySQL必要パッケージのインストールと設定
    1. sshを使用してインスタンスにログインする。

    2. 下記コマンドを実行してyumを最新状態にする。

      $ sudo yum update
      
    3. 下記コマンドを実行してインスタンス作成初期からインストールされているMariaDB用パッケージを削除する。

      $ sudo yum remove mariadb-*
      
      1. 下記のコマンドを実行してmariadb関連ファイルをすべて削除しないとうまく行かないとご報告いただきました!追記させていただきます(2021/11/29 追記 @bayasist 様のご知見です。コメントありがとうございます!非常に助かりました!)

        $ sudo yum remove mariadb-*
        
      2. 上記を実行しないと下記コマンドで詰まることがあるそうです。

        $ sudo yum install --enablerepo=mysql80-community mysql-community-server
        
    4. 下記コマンドを実行してMySQLのリポジトリをyumに追加する。(下記リポジトリ取得のコマンドはURL部分が変更になることがあります。こちらにアクセスいただき「Red Hat Enterprise Linux 7 / Oracle Linux 7」の欄の下に記載されているリポジトリ名を下記コマンドのURLのhttps://dev.mysql.com/get/以降に適応してコマンドを実行してください。)

      $ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
      
    5. 下記コマンドを実行してMySQLに必要なパッケージ(mysql-community-server)を取得する。(yを入力してEnterを押下する際にインストールパッケージとリポジトリが下記の様になっていることを確認する。下記のスクショは記事記載時のものです。現在は表示されているパッケージが異なっているかもしれません。)

      $ sudo yum install --enablerepo=mysql80-community mysql-community-server
      
    6. 下記コマンドを実行してMySQLに必要なパッケージ(mysql-community-devel)を取得する。(yを入力してEnterを押下する際にインストールパッケージとリポジトリが下記の様になっていることを確認する。下記のスクショは記事記載時のものです。現在は表示されているパッケージが異なっているかもしれません。)

      $ sudo yum install --enablerepo=mysql80-community mysql-community-devel
      
    7. 下記コマンドを実行してインストールされたMySQLに関係のあるパッケージを出力する。

      $ yum list installed | grep mysql
      
    8. 先のコマンドの結果が下記の様になれば必要パッケージのインストールは完了である。

      mysql-community-client.x86_64         8.0.28-1.el7                   @mysql80-community
      mysql-community-client-plugins.x86_64 8.0.28-1.el7                   @mysql80-community
      mysql-community-common.x86_64         8.0.28-1.el7                   @mysql80-community
      mysql-community-devel.x86_64          8.0.28-1.el7                   @mysql80-community
      mysql-community-icu-data-files.x86_64 8.0.28-1.el7                   @mysql80-community
      mysql-community-libs.x86_64           8.0.28-1.el7                   @mysql80-community
      mysql-community-server.x86_64         8.0.28-1.el7                   @mysql80-community
      mysql80-community-release.noarch      el7-5                          installed  
      
    9. 下記コマンドを実行してlogファイルを作成する。

      $ sudo touch /var/log/mysqld.log
      
    10. 下記コマンドを実行してmysqldを起動する。

      $ sudo systemctl start mysqld 
      
  2. 確認
    1. 下記コマンドを実行してmusqldの状態を確認する。

      $ systemctl status mysqld.service
      
    2. 下記の様に出力されれば正常にmysqldが起動できている。

               ● mysqld.service - MySQL Server
          Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
          Active: active (running) since Mon 2020-06-08 14:35:25 UTC; 25s ago
            Docs: man:mysqld(8)
                  http://dev.mysql.com/doc/refman/en/using-systemd.html
         Process: 11493 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
        Main PID: 11566 (mysqld)
          Status: "Server is operational"
          CGroup: /system.slice/mysqld.service
                  └─11566 /usr/sbin/mysqld
      
    3. 下記コマンドを実行してmysqldがインスタンスの起動と同時に起動するように設定する。

      $ sudo systemctl enable mysqld
      
  3. rootアカウントにてMySQLにログイン
    1. 本記事が長くなるためこちらの内容は下記の別記事で取り扱う。下記に紹介先のリンクを記載する。

参考文献