Amazon Linux 2にMySQLのクライアントをインストール

こんにちは、さるまりんです。

今回はMySQLのクライアントをAmazon Linux 2にインストールする手順を残します。
サーバーはいらないのでMySQL8.0のクライアントのみをインストールします。

MariaDBをアンインストール?

Amazon Linux 2にはMariaDBが元から入っているようで、これがあるとクライアントをインストールするときに干渉することがあるようなので、あればアンインストールします。

$ yum list installed | grep mariadb
mariadb-libs.x86_64 1:5.5.68-1.amzn2 installed

存在するのでアンインストールです。
する必要がないケースもありました。

$ sudo yum remove mariadb-libs
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mariadb-libs.x86_64 1:5.5.68-1.amzn2 を 削除
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: 2:postfix-2.10.1-6.amzn2.0.3.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: 2:postfix-2.10.1-6.amzn2.0.3.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ postfix.x86_64 2:2.10.1-6.amzn2.0.3 を 削除
--> 依存性解決を終了しました。
amzn2-core/2/x86_64 | 3.7 kB 00:00:00 
amzn2extra-docker/2/x86_64 | 3.0 kB 00:00:00 
amzn2extra-nginx1/2/x86_64 | 3.0 kB 00:00:00 
amzn2extra-php7.4/2/x86_64 | 3.0 kB 00:00:00 
amzn2extra-redis4.0/2/x86_64 | 3.0 kB 00:00:00 
nodesource/x86_64 | 2.5 kB 00:00:00

依存性を解決しました

===========================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===========================================================================================================================================================
削除中:
mariadb-libs x86_64 1:5.5.68-1.amzn2 installed 4.4 M
依存性関連での削除をします:
postfix x86_64 2:2.10.1-6.amzn2.0.3 installed 12 M

トランザクションの要約
===========================================================================================================================================================
削除 1 パッケージ (+1 個の依存関係のパッケージ)

インストール容量: 17 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
削除中 : 2:postfix-2.10.1-6.amzn2.0.3.x86_64 1/2 
削除中 : 1:mariadb-libs-5.5.68-1.amzn2.x86_64 2/2 
検証中 : 1:mariadb-libs-5.5.68-1.amzn2.x86_64 1/2 
検証中 : 2:postfix-2.10.1-6.amzn2.0.3.x86_64 2/2

削除しました:
mariadb-libs.x86_64 1:5.5.68-1.amzn2

依存性の削除をしました:
postfix.x86_64 2:2.10.1-6.amzn2.0.3

完了しました!
MySQLをインストールするためのリポジトリの確認と追加

yum info mysqlで確認するとMySQLをインストールするためのリポジトリはないようです。

MySQL8.0のレポジトリを追加します。

$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
mysql80-community-release-el7-7.noarch.rpm | 11 kB 00:00:00 
/var/tmp/yum-root-3UuDAe/mysql80-community-release-el7-7.noarch.rpm を調べています: mysql80-community-release-el7-7.noarch
/var/tmp/yum-root-3UuDAe/mysql80-community-release-el7-7.noarch.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql80-community-release.noarch 0:el7-7 を インストール
--> 依存性解決を終了しました。
amzn2-core/2/x86_64 | 3.7 kB 00:00:00

依存性を解決しました

===========================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===========================================================================================================================================================
インストール中:
mysql80-community-release noarch el7-7 /mysql80-community-release-el7-7.noarch 10 k

トランザクションの要約
===========================================================================================================================================================
インストール 1 パッケージ

合計容量: 10 k
インストール容量: 10 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mysql80-community-release-el7-7.noarch 1/1 
検証中 : mysql80-community-release-el7-7.noarch 1/1

インストール:
mysql80-community-release.noarch 0:el7-7

完了しました!
追加したリポジトリを有効に
$ sudo yum-config-manager --enable mysql80-community

これでMySQL8.0のレポジトリが有効になります。

これはしないでもいけるケースもありました。
また、MySQL5.7のレポジトリが有効になっていてそれが優先されてしまい8.0がインストールできないことがあったので

$ sudo yum-config-manager --disable mysql57-community

このコマンドも実行する必要がある場合もありました。

MySQL8.0のクライアントをインストール

いよいよインストールです。

$ sudo yum install mysql-community-client
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
53 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-client.x86_64 0:8.0.30-1.el7 を インストール
--> 依存性の処理をしています: mysql-community-client-plugins = 8.0.30-1.el7 のパッケージ: mysql-community-client-8.0.30-1.el7.x86_64
--> 依存性の処理をしています: mysql-community-libs(x86-64) >= 8.0.11 のパッケージ: mysql-community-client-8.0.30-1.el7.x86_64
--> 依存性の処理をしています: libncurses.so.5()(64bit) のパッケージ: mysql-community-client-8.0.30-1.el7.x86_64
--> 依存性の処理をしています: libtinfo.so.5()(64bit) のパッケージ: mysql-community-client-8.0.30-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-client-plugins.x86_64 0:8.0.30-1.el7 を インストール
---> パッケージ mysql-community-libs.x86_64 0:8.0.30-1.el7 を インストール
--> 依存性の処理をしています: mysql-community-common(x86-64) >= 8.0.11 のパッケージ: mysql-community-libs-8.0.30-1.el7.x86_64
---> パッケージ ncurses-compat-libs.x86_64 0:6.0-8.20170212.amzn2.1.3 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-common.x86_64 0:8.0.30-1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===========================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===========================================================================================================================================================
インストール中:
mysql-community-client x86_64 8.0.30-1.el7 mysql80-community 14 M
依存性関連でのインストールをします:
mysql-community-client-plugins x86_64 8.0.30-1.el7 mysql80-community 2.5 M
mysql-community-common x86_64 8.0.30-1.el7 mysql80-community 645 k
mysql-community-libs x86_64 8.0.30-1.el7 mysql80-community 1.5 M
ncurses-compat-libs x86_64 6.0-8.20170212.amzn2.1.3 amzn2-core 308 k

トランザクションの要約
===========================================================================================================================================================
インストール 1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 19 M
インストール容量: 104 M
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/2/mysql80-community/packages/mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 3a79bd29: NOKEY
mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm の公開鍵がインストールされていません
(1/5): mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm | 2.5 MB 00:00:00 
(2/5): mysql-community-common-8.0.30-1.el7.x86_64.rpm | 645 kB 00:00:00 
(3/5): mysql-community-libs-8.0.30-1.el7.x86_64.rpm | 1.5 MB 00:00:00 
(4/5): mysql-community-client-8.0.30-1.el7.x86_64.rpm | 14 MB 00:00:00 
(5/5): ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64.rpm | 308 kB 00:00:00 
-----------------------------------------------------------------------------------------------------------------------------------------------------------
合計 20 MB/s | 19 MB 00:00:00 
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 から鍵を取得中です。
Importing GPG key 0x3A79BD29:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: 859b e8d7 c586 f538 430b 19c2 467b 942d 3a79 bd29
Package : mysql80-community-release-el7-7.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
上記の処理を行います。よろしいでしょうか? [y/N]y
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql から鍵を取得中です。
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
Package : mysql80-community-release-el7-7.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mysql-community-client-plugins-8.0.30-1.el7.x86_64 1/5 
インストール中 : ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64 2/5 
インストール中 : mysql-community-common-8.0.30-1.el7.x86_64 3/5 
インストール中 : mysql-community-libs-8.0.30-1.el7.x86_64 4/5 
インストール中 : mysql-community-client-8.0.30-1.el7.x86_64 5/5 
検証中 : mysql-community-common-8.0.30-1.el7.x86_64 1/5 
検証中 : mysql-community-client-plugins-8.0.30-1.el7.x86_64 2/5 
検証中 : mysql-community-client-8.0.30-1.el7.x86_64 3/5 
検証中 : ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64 4/5 
検証中 : mysql-community-libs-8.0.30-1.el7.x86_64 5/5

インストール:
mysql-community-client.x86_64 0:8.0.30-1.el7

依存性関連をインストールしました:
mysql-community-client-plugins.x86_64 0:8.0.30-1.el7 mysql-community-common.x86_64 0:8.0.30-1.el7 mysql-community-libs.x86_64 0:8.0.30-1.el7 
ncurses-compat-libs.x86_64 0:6.0-8.20170212.amzn2.1.3

完了しました!
インストールされたか確認

インストールされているか確認してみます。

$ which mysql
/usr/bin/mysql
$ mysql --version
mysql Ver 8.0.30 for Linux on x86_64 (MySQL Community Server - GPL)

ちゃんとインストールされています。
これで実行できるようになりました。

AWSを使っているときはDBはRDSを使うことが多いのでDBサーバーがいらず、クライアントのみのインストールをしたいことが何度かありました。
頻繁にしないことは忘れてしまうのでメモすることも大事ですね。

読んでくださってありがとうございました。

それではまた!