Amazon Linux 2023にMySQLクライアントをインストールする
Amazon Linux 2023のDockerイメージから作成したDockerコンテナにMySQLクライアントをインストールします。
こちらのページを参考にさせていただいています。
MySQLクライアントとは
MySQLサーバーへの接続・操作ができるようになるツールです。
環境
- Ubuntu 22.04.3 LTS (WSLで起動している)
- Docker Engine 26.0.0
インストールの流れ
1. MySQLクライアントをインストールする
Amazon Linux 2023の Dockerfile
を作成し、MySQLクライアントインストールの行を追加します。
Dockerfile
:
FROM amazonlinux:2023
# MySQLクライアントインストール
RUN rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
RUN yum -y install https://repo.mysql.com/mysql80-community-release-el9-1.noarch.rpm
RUN yum -y install mysql-community-client-8.0.34
EL9ベースシステム用のyumリポジトリを追加していますが、参考サイト様によるとFedora向けのインストールはできないみたいです。(AL2023にはFedora 34、35、36のコンポーネントが含まれている)
GPGキーは期限があるそうなので、この記事をご覧になった時期によってはこのキーではだめかもしれません。
GPGキーとyumリポジトリはこちらから確認できました。
今回は今後AWSにデプロイすることを考えて、Amazon Auroraに合わせてMySQLサーバーのバージョンを 8.0.34
にします。そのためMySQLクライアントのバージョンも 8.0.34
をインストールしています。(サーバーのバージョンとクライアントのバージョンが同じなら問題ないのかどうかはわかりませんが…)
2. インストールを確認する
インストールしたMySQLクライアントの動作確認を行います。
作成したAmazon Linux 2023の Dockerfile
と同じディレクトリに以下の docker-compose.yml
を作成します。
docker-compose.yml
:
services:
mysql_client:
build: .
tty: true # Dockerコンテナが自動で終了しないように追加
mysql_server:
image: mysql:8.0.34
environment:
MYSQL_ROOT_PASSWORD: root
同じディレクトリで以下を実行します。
Dockerコンテナを立ち上げてmysql_client(Amazon Linux 2023の方)に接続しています。
$ docker compose up -d
$ docker compose exec mysql_client bash
コンテナ内で以下を実行します。
# mysql -u root -p -h mysql_server
rootユーザーのパスワードを聞かれるので root
を入力します。
docker-compose.yml
で設定した MYSQL_ROOT_PASSWORD
の値です。
プロンプトが mysql>
に変わったら接続成功です。
MySQLクライアントのインストールを確認できました。