1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【RockyLinux8】みんな大好き MySQL8.0のインストール【Community Clientのみ】

Posted at

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

MySQLのCLIを使って、クラウド上のMySQLインスタンスにアクセスしたいけど、
MySQLを何も考えずにインストールすると、MySQLサーバもインストールされちゃいます。
Clientのみインストールする方法をメモ。

インストール方法について、Qiita記事がいろいろHITしますが、
結局公式に全部載っているので、
これを参考にします。

最初公式手順見ずに適当にやってたらいくつかハマった点があったので、
ハマったところリストとして最後に紹介しています。

yumリポジトリを登録する

community-clientのみインストールする場合は、MySQL公式のリポジトリを /etc/yum.repos.d/ に登録して、
そこからcommunity-clientを指定してyum(dnf)インストールします。

まず、/etc/yum.repos.d/にrepoを登録します。

viなどのエディタで直接作成するか、
yum(dnf)-comfig-managerコマンドで自動で作成する方法もあります。

yum(dnf)-config-managerで作成するとファイル名とか書式が汚くなるので、
今回はviで自作します。

baseURLはここを参照します。

# cd /etc/yum.repos.d/
# vi mysql-community.repo
mysql-community.repo
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  • 確認

# dnf repolist enabled | grep mysqlを実行して、出てきたらOK。

# dnf repolist enabled | grep mysql
mysql80-community       MySQL 8.0 Community Server

GPG鍵をインストール

さて、↑のリポジトリ登録で、gpgcheckやgpgkeyというものが出てきました。
GPG鍵は、このリポジトリに含まれているパッケージの信ぴょう性や完全性を証明するための暗号鍵です。

デフォルトではインストールされていないようなので、これを取得します。
参照のページを見ると、こちらで公開されているようです。

  1. Search Stringの欄にmysqlと入力してDo the search!ボタンを押します。
  2. 一番上にpub 4096R/3A79BD29 2021-12-14 MySQL Release Engineering <mysql-build@oss.oracle.com>が出てくると思うので、リンクになっている3A79BD29をクリックします。
  3. pub-keyが表示されるので、BEGIN PGP ~ END PGPまでをコピーして、/etc/pki/rpm-gpg/RPM-GPG-KEY-mysqlにペーストします。
  4. 以上で取得完了!

moduleを無効化する

どうやらRHEL8をはじめとするRedHat系のディストリビューションでは、
yum→dnfを利用することになったことで、新たな概念としてmoduleというものが実装されているようです。

このmoduleですが、RHEL8系だとデフォルトで提供されているmysqlモジュールが存在していて、
このmoduleのせいでさっきインストールしてきたMySQLのリポジトリが参照されないようになってしまいます。

せっかく手動でDLしてきたMySQLのリポジトリを表示するには、# dnf module disableを実行します。

# dnf module disable mysql

メタデータの期限切れの最終確認: 0:22:12 時間前の 2022年05月25日 21時31分14秒 に実施しました。
依存関係が解決しました。
===============================================================================================================================================================================================
 パッケージ                                    アーキテクチャー                             バージョン                                     リポジトリー                                  サイズ
===============================================================================================================================================================================================
モジュールストリームの有効化中:
 mysql                                                                                      8.0                                                                                               

トランザクションの概要
===============================================================================================================================================================================================

これでよろしいですか? [y/N]: y
完了しました!

インストール

問題なければこれでインストールできます!

# dnf install mysql-community-client
メタデータの期限切れの最終確認: 0:04:32 時間前の 2022年05月25日 22時14分13秒 に実施しました。
依存関係が解決しました。
===============================================================================================================================================================================================
 パッケージ                                                 アーキテクチャー                   バージョン                                  リポジトリー                                  サイズ
===============================================================================================================================================================================================
インストール:
 mysql-community-client                                     x86_64                             8.0.29-1.el8                                mysql80-community                              14 M
依存関係のインストール:
 mysql-community-client-plugins                             x86_64                             8.0.29-1.el8                                mysql80-community                             2.4 M
 mysql-community-common                                     x86_64                             8.0.29-1.el8                                mysql80-community                             636 k
 mysql-community-libs                                       x86_64                             8.0.29-1.el8                                mysql80-community                             1.5 M

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

ダウンロードサイズの合計: 19 M
インストール後のサイズ: 102 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): mysql-community-client-8.0.29-1.el8.x86_64.rpm                                                                                                           86 MB/s |  14 MB     00:00    
(2/4): mysql-community-libs-8.0.29-1.el8.x86_64.rpm                                                                                                             71 MB/s | 1.5 MB     00:00    
(3/4): mysql-community-common-8.0.29-1.el8.x86_64.rpm                                                                                                          1.2 MB/s | 636 kB     00:00    
(4/4): mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm                                                                                                  3.7 MB/s | 2.4 MB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                            29 MB/s |  19 MB     00:00     
MySQL 8.0 Community Server                                                                                                                                     3.1 MB/s | 3.1 kB     00:00    
GPG 鍵 0x3A79BD29 をインポート中:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: 859B E8D7 C586 F538 430B 19C2 467B 942D 3A79 BD29
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                                                                       1/1 
  インストール中   : mysql-community-client-plugins-8.0.29-1.el8.x86_64                                                                                                                    1/4 
  インストール中   : mysql-community-common-8.0.29-1.el8.x86_64                                                                                                                            2/4 
  インストール中   : mysql-community-libs-8.0.29-1.el8.x86_64                                                                                                                              3/4 
  scriptletの実行中: mysql-community-libs-8.0.29-1.el8.x86_64                                                                                                                              3/4 
  インストール中   : mysql-community-client-8.0.29-1.el8.x86_64                                                                                                                            4/4 
  scriptletの実行中: mysql-community-client-8.0.29-1.el8.x86_64                                                                                                                            4/4 
  検証             : mysql-community-client-8.0.29-1.el8.x86_64                                                                                                                            1/4 
  検証             : mysql-community-client-plugins-8.0.29-1.el8.x86_64                                                                                                                    2/4 
  検証             : mysql-community-common-8.0.29-1.el8.x86_64                                                                                                                            3/4 
  検証             : mysql-community-libs-8.0.29-1.el8.x86_64                                                                                                                              4/4 

インストール済み:
  mysql-community-client-8.0.29-1.el8.x86_64    mysql-community-client-plugins-8.0.29-1.el8.x86_64    mysql-community-common-8.0.29-1.el8.x86_64    mysql-community-libs-8.0.29-1.el8.x86_64   

完了しました!
  • 確認
# mysql --version
mysql  Ver 8.0.29 for Linux on x86_64 (MySQL Community Server - GPL)
↑mysqlコマンドが使えることが確認できた。

# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
↑サーバはインストールしてないので、サーバとしては使えない。

ハマったところリスト

  • GPG鍵が登録されていない
  • GPG鍵が間違っている
  • moduleを無効化していない
  • 中途半端なインストールしてたせいで中途半端にキャッシュが残ってバグる

moduleに関しては初見だっだので、目からうろこでした。

エラー例1 : GPG鍵が登録されていない

鍵がインストールされてない状態でdnf install mysql-community-clientしようとしても、GPG鍵エラーがでてインストールできません。

# dnf install mysql-community-client
メタデータの期限切れの最終確認: 0:15:45 時間前の 2022年05月25日 21時31分14秒 に実施しました。
依存関係が解決しました。
===============================================================================================================================================================================================
 パッケージ                                                 アーキテクチャー                   バージョン                                  リポジトリー                                  サイズ
===============================================================================================================================================================================================
インストール:
 mysql-community-client                                     x86_64                             8.0.29-1.el8                                mysql80-community                              14 M
依存関係のインストール:
 mysql-community-client-plugins                             x86_64                             8.0.29-1.el8                                mysql80-community                             2.4 M
 mysql-community-common                                     x86_64                             8.0.29-1.el8                                mysql80-community                             636 k
 mysql-community-libs                                       x86_64                             8.0.29-1.el8                                mysql80-community                             1.5 M

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

ダウンロードサイズの合計: 19 M
インストール後のサイズ: 102 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): mysql-community-common-8.0.29-1.el8.x86_64.rpm                                                                                                          1.2 MB/s | 636 kB     00:00    
(2/4): mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm                                                                                                  3.7 MB/s | 2.4 MB     00:00    
(3/4): mysql-community-libs-8.0.29-1.el8.x86_64.rpm                                                                                                            5.9 MB/s | 1.5 MB     00:00    
(4/4): mysql-community-client-8.0.29-1.el8.x86_64.rpm                                                                                                           14 MB/s |  14 MB     00:01    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                            18 MB/s |  19 MB     00:01     
mysql-community-client-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません
mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません
mysql-community-common-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません
mysql-community-libs-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: GPG の確認に失敗しました

yum.repos.d/mysql-community.repo で指定したように、/etc/pki/rpm-gpg/RPM-GPG-KEY-mysqlをダウンロードしてくる必要があります。

エラー例2 : GPG鍵が間違ってい

公式のGPG署名マニュアルに載っている鍵をRPM-GPG-KEY-mysqlに登録したところ、
鍵が間違っているといわれてエラーになりました。


```# dnf install mysql-community-client
メタデータの期限切れの最終確認: 0:01:31 時間前の 2022年05月25日 22時14分13秒 に実施しました。
依存関係が解決しました。
===============================================================================================================================================================================================
 パッケージ                                                 アーキテクチャー                   バージョン                                  リポジトリー                                  サイズ
===============================================================================================================================================================================================
インストール:
 mysql-community-client                                     x86_64                             8.0.29-1.el8                                mysql80-community                              14 M
依存関係のインストール:
 mysql-community-client-plugins                             x86_64                             8.0.29-1.el8                                mysql80-community                             2.4 M
 mysql-community-common                                     x86_64                             8.0.29-1.el8                                mysql80-community                             636 k
 mysql-community-libs                                       x86_64                             8.0.29-1.el8                                mysql80-community                             1.5 M

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

ダウンロードサイズの合計: 19 M
インストール後のサイズ: 102 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): mysql-community-common-8.0.29-1.el8.x86_64.rpm                                                                                                          826 kB/s | 636 kB     00:00    
(2/4): mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm                                                                                                  2.5 MB/s | 2.4 MB     00:00    
(3/4): mysql-community-libs-8.0.29-1.el8.x86_64.rpm                                                                                                            3.8 MB/s | 1.5 MB     00:00    
(4/4): mysql-community-client-8.0.29-1.el8.x86_64.rpm                                                                                                          9.6 MB/s |  14 MB     00:01    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                            13 MB/s |  19 MB     00:01     
MySQL 8.0 Community Server                                                                                                                                      27 MB/s |  27 kB     00:00    
GPG 鍵 0x5072E1F5 をインポート中:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?
mysql-community-client-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-client-8.0.29-1.el8.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-client-plugins-8.0.29-1.el8.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-common-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-common-8.0.29-1.el8.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-libs-8.0.29-1.el8.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: mysql-community-libs-8.0.29-1.el8.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: GPG の確認に失敗しました

おそらく、公式ページに古い鍵が表示されているようです。
手順で紹介した通り、http://pgp.mit.edu/からDLした鍵を使いましょう。

↓こちらの方法でも鍵をimportできるようです

エラー例3 : moduleが無効化されておらず、mysql-community-clientが見つからない

今回検証したRockyLinux8には、AppStreamというデフォルトで入っているリポジトリにMySQLが入ってるので、
# dnf install -y mysqlでインストールは可能ですが、mysql-community-client単体をインストールすることはできません。

これは、RHEL8系のディストリビューションで実装されているmoduleによるものです。

# dnf install mysql-community-client
メタデータの期限切れの最終確認: 0:02:06 時間前の 2022年05月25日 20時55分06秒 に実施しました。
一致した引数がありません: mysql-community-client
エラー: 一致するものが見つかりません: mysql-community-client

手動で持ってきたMySQLリポジトリを利用する場合は、このmoduleを無効化します。

# dnf module disable mysql

エラー例4 : 中途半端なインストールしてたせいで中途半端にキャッシュが残ってバグる

今回記事作成のためにわざとdnf install でエラー起こしたりしてたら、
キャッシュが中途半端に残ってしまい、 パッケージがAlready downloaded とかでてバグりました。

ログに解決方法# dnf clean packagesを実行してくれとあるので実行したら治りました。

# dnf install mysql-community-client
メタデータの期限切れの最終確認: 0:04:19 時間前の 2022年05月25日 22時14分13秒 に実施しました。
依存関係が解決しました。
===============================================================================================================================================================================================
 パッケージ                                                 アーキテクチャー                   バージョン                                  リポジトリー                                  サイズ
===============================================================================================================================================================================================
インストール:
 mysql-community-client                                     x86_64                             8.0.29-1.el8                                mysql80-community                              14 M
依存関係のインストール:
 mysql-community-client-plugins                             x86_64                             8.0.29-1.el8                                mysql80-community                             2.4 M
 mysql-community-common                                     x86_64                             8.0.29-1.el8                                mysql80-community                             636 k
 mysql-community-libs                                       x86_64                             8.0.29-1.el8                                mysql80-community                             1.5 M

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

合計サイズ: 19 M
インストール後のサイズ: 102 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
[SKIPPED] mysql-community-client-8.0.29-1.el8.x86_64.rpm: Already downloaded                                                                                                                  
[SKIPPED] mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm: Already downloaded                                                                                                          
[SKIPPED] mysql-community-common-8.0.29-1.el8.x86_64.rpm: Already downloaded                                                                                                                  
[SKIPPED] mysql-community-libs-8.0.29-1.el8.x86_64.rpm: Already downloaded                                                                                                                    

ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: パッケージのダウンロード中にエラーが発生しました:
  mysql-community-client-8.0.29-1.el8.x86_64: Already downloaded
  mysql-community-client-plugins-8.0.29-1.el8.x86_64: Already downloaded
  mysql-community-common-8.0.29-1.el8.x86_64: Already downloaded
  mysql-community-libs-8.0.29-1.el8.x86_64: Already downloaded
  • なおす
[root@imade-gcp01 rpm-gpg]# dnf clean packages 
4 ファイルが削除されました

以上です!

感想

重い腰を上げてMySQL5.7からMySQL8.0を使い始めることになりましたが、
インストールで所々躓いたのでメモしておきました。

特に、インストールするOSのディストリビューションによってはmoduleの無効化などが必要となってくる点が注意が必要ですね。

エラーメッセージでこの記事に飛んできた方は、参考にしてみてください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?