#環境
- RHEL8(AWS EC2)
#内容
RHEL8(AWS EC2)でMariaDBをyumインストールすると現状MariaDB10.3がインストールされる。
これにMariaDB10.4のバージョンをインストールしたいと思い、MariaDBリポジトリ生成ページより生成したリポジトリを用いてインストールしようとしたところ、以下のような競合エラーが発生してインストールできない。
エラー: トランザクションの確認時にエラー:
ファイル /usr/bin/msql2mysql は mariadb-3:10.3.11-2.module+el8+2885+7b8bb354.x86_64 と MariaDB-client-10.4.7-1.el8.x86_64 のインストールで競合しています。
ファイル /usr/bin/mysql は mariadb-3:10.3.11-2.module+el8+2885+7b8bb354.x86_64 と MariaDB-client-10.4.7-1.el8.x86_64 のインストールで競合しています。
:
:
#原因
MariaDB10.3をインストールするときに使用するrhel-8-appstream-rhui-rpmsリポジトリと競合していたため発生。これを無効化することでMariaDB10.4をインストールできた。
#インストール作業の流れ
はじめに、MariaDB10.3がインストールされている場合はアンインストールしておく。
##リポジトリ生成
リポジトリ生成手順は以下のとおり(画像参照)
##MariaDB.repo作成
リポジトリ生成ページに表示されたテキストをコピペして**/etc/yum.repos.d/MariaDB.repo**を作成。
##インストール
リポジトリ生成ページの記述通りにMariaDBをインストールしようとすると「一致するリポジトリーがありません: rhel-8-for-x86_64-appstream-beta-rpms」と表示されて、件のエラーが発生するので注意。
ここで競合を起こしているリポジトリはrhel-8-appstream-rhui-rpmsなのでこちらを無効化する。1
$ sudo dnf install boost-program-options
$ sudo yum --disablerepo=rhel-8-appstream-rhui-rpms install MariaDB-server MariaDB-client
##インストール確認
無事にインストールできたか確認。
$ mysql -V
mysql Ver 15.1 Distrib 10.4.7-MariaDB, for Linux (x86_64) using readline 5.1
#参考
#補足(19.08.30追記)
自身の環境でMariaDBに使用されるリポジトリを調べる際は
$ sudo yum info mariadb
として、競合しそうなリポジトリ名を調べる。
なお、現在有効になっているリポジトリ一覧を表示する際は
$ sudo yum repolist
とする。
-
今回RHEL8環境の作業のため、無効化するリポジトリを本題の通り指定しましたが、環境によってMariaDBインストール時に使用するリポジトリは異なるようです。補足参考。 ↩