Amazon Linux 2023にMySQL をインストールする

Amazon-linux2023を使用しています。

# エラー内容
```
$ bundle install --path vendor/bundle

    （省略）

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

An error occurred while installing mysql2 (0.5.3), and Bundler cannot
continue.

In Gemfile:
  mysql2
```

# 解決したいこと
EC2にてMYSQLをインストールして、```bundle install```を成功させたい。

# 試したこと
エラー文から見るに、EC2に MYSQL がインストールできていない可能性が高いと思い、下記で調べてみる。

```
$ sudo yum list installed | grep mysql  # mysqlと関連パッケージがインストールされているか？
mysql80-community-release.noarch       el7-7          @mysql80-community

$ mysql --version  # MySQLのバージョンを確認
-bash: mysql: command not found
```

```mysql: command not found```と出ているので、MYSQLをインストールできていないことがわかる。

MYSQLインストールを試みるがここでもエラーになる。

```
$ sudo yum install mysql mysql-devel
[sudo] password for tester:

（省略（他にエラー文はなし））

(try to add '--skip-broken' to skip uninstallable packages)
```

```--skip-broken```をオプションをつけて再度コマンドを実行してみてもインストールできておらず、```$ bundle install --path vendor/bundle```してもまったく同じエラー内容が出ました。

（そもそも「```–skip-broken```」オプションを付与してインストールしても、パッケージ依存関係に不整合が出る可能性があり、将来的に困る可能性大です。。）

ちなみに git や gccなどは何の問題もなくインストールできています。

# 解決
https://dev.classmethod.jp/articles/install-mysql-client-to-amazon-linux-2023/

↑このサイトに書いてある手順通り試してみたら、```mysql```と```mysql-devel```がインストールできました！

```
$ sudo dnf -y localinstall  https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

$ sudo dnf -y install mysql mysql-community-client

$ sudo yum install mysql mysql-devel
[sudo] password for tester:
Last metadata expiration check: 0:05:20 ago on Sun Mar 26 03:46:53 2023.
Package mysql-community-client-8.0.32-1.el9.x86_64 is already installed.
Package mysql-community-devel-8.0.32-1.el9.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
```

# その後

ここからは記事としては少々蛇足なのですが、```bundle install```してみると```rmagic```の部分でエラーになりました。

```
$ bundle install --path vendor/bundle
（省略）
Fetching mysql2 0.5.3    
Installing mysql2 0.5.3 with native extensions  ←MYSQLは通った！
Using pagy 5.10.1   
Using pry 0.14.1
Using pry-nav 1.0.0
Using pry-rails 0.3.9
Fetching psych 3.3.2
Installing psych 3.3.2 with native extensions
Fetching puma 4.3.12
Installing puma 4.3.12 with native extensions
Using rack-proxy 0.7.2
Using rexml 3.2.5
Fetching rmagick 4.2.5
Installing rmagick 4.2.5 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.


ERROR: Can't install RMagick 4.2.5.
Can't find the ImageMagick library or one of the dependent libraries.
Check the mkmf.log file for more detailed information.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

An error occurred while installing rmagick (4.2.5), and Bundler cannot
continue.
```

https://zenn.dev/endo/articles/796cb063b758fc4af898

↑こちらに対処法が書いてありました。

解決コマンド
```
$ sudo yum -y install ImageMagick
$ sudo yum -y install ImageMagick-devel
```

```
$ bundle install --path vendor/bundle

（省略）

Bundle complete! 35 Gemfile dependencies, 119 gems now installed.
Bundled gems are installed into `./vendor/bundle`
```

無事```bunndle install```もできました。