MySQL 5.7 、MySQL8をインストール時にlibsasl2.so.2()(64bit)エラーが発生
MySQL5.7とMySQL8をインストールしたときに、「Error: Package: mysql-community-server Requires: libsasl2.so.2()(64bit)」が発生したので、その時の原因と対処方法を記載。
エラー内容
[rin@localhost lib64]$ sudo yum install mysql-community-server
メタデータの期限切れの最終確認: 0:04:21 時間前の 2022年11月14日 16時38分34秒 に実施しました。
エラー:
問題: ジョブの最良アップデート候補をインストールできません
- libsasl2.so.2()(64bit) が提供されません mysql-community-server-5.7.40-1.el6.x86_64 に必要です
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
原因1と解消方法
CentOS7やRed Hat Enterprise Linux (RHEL) 7.1 など、一部のシステムでは「libsasl2.so.2」が 「libsasl2.so.3」に置き換えられましため、クライアントが libsasl2.so.2 をロードしようとしたときエラーが発生する。「libsasl2.so.2 」をロードしようとしたときに 「libsasl2.so.3」へリダイレクトされるように、「 libsasl2.so.3」へシンボリックリンクを作成して回避します。
$ cd /usr/lib64
$ sudo ln libsasl2.so.3 libsasl2.so.2
#念のためにyumをクリーンしている
$ sudo yum clean all
$ sudo yum install mysql-community-server
原因2と解消方法
インストールしようとしているMySQLバージョンとLinuxのカーネルバージョンがマッチしていない。Linuxカーネルバージョンによって、「libsasl2.so.2」か「libsasl2.so.3」を利用するか異なるため、原因1の対象方法で解消しない場合は、原因2の可能性が高い。
unameコマンドで、カーネルバージョンを調べて「Linuxバージョン」を確認し、リポジトリを変更する。事例としては、カーネルバージョン3.10.0のCentOS7に対して、「Red Hat Enterprise Linux 6」リポジトリでインストールした時に現象が発生した。
[suna@localhost ~]$ uname -r
3.10.0-1160.80.1.el7.x86_64
[suna@localhost ~]$
Linuxバージョン
バージョン | カーネルバージョン | パッケージ名 | |
---|---|---|---|
Red Hat Enterprise Linux 2.1 | RHEL 2.1 Update1~7 | 2.4.9 | – |
Red Hat Enterprise Linux 3 | RHEL 3 Update1~8 or RHEL 3.9 | 2.4.21 | – |
Red Hat Enterprise Linux 4 | RHEL 4 Update 1~4 or RHEL 4.5~RHEL 4.9 | 2.6.9 | – |
Red Hat Enterprise Linux 5 | RHEL 5.1 ~ RHEL 5.11 | 2.6.18 | – |
Red Hat Enterprise Linux 6 | RHEL 6.1 ~ RHEL 6.10 | 2.6.32 | Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package |
Red Hat Enterprise Linux 7 | RHEL 7.1 ~ RHEL 7.9 | 3.10.0 | Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package |
Red Hat Enterprise Linux 8 | RHEL 8.0 ~ RHEL 8.6 | 4.18 | Red Hat Enterprise Linux 8 / Oracle Linux 8 (Architecture Independent), RPM Package |
Red Hat Enterprise Linux 9 | RHEL 9.0 | 5.14 | Red Hat Enterprise Linux 9 / Oracle Linux 9 (Architecture Independent), RPM Package |
YumリポジトリURL(参考)
#Red Hat Enterprise Linux 9
https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
#Red Hat Enterprise Linux 8
wget https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm
#Red Hat Enterprise Linux 7
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
#Red Hat Enterprise Linux 6
wget https://dev.mysql.com/get/mysql80-community-release-el6-7.noarch.rpm
rpmコマンドでリポジトリパッケージの再インストール
$sudo rpm -qa | grep mysql
$sudo rpm -e パッケージ名
$sudo rpm -qa | grep mysql
$sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm