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.

RockyLinux 8 で MariaDB と MySQL の競合を解決する方法

Last updated at Posted at 2023-05-05

MariaDBとMySQLは、非常に似た機能を持つ人気のあるオープンソースデータベースシステムです。時には、同じシステム上でこれらを同時に使用しようとすると、パッケージの競合が発生することがあります。この記事では、MariaDBとMySQLのパッケージ間の競合、およびMariaDBパッケージの異なるバージョン間の競合に直面した場合の解決策をいくつか提案します。

エラー内容

以下のエラーが発生した場合:

 Problem 1: package mariadb-devel-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 conflicts with mysql-devel provided by MariaDB-devel-10.6.12-1.el8.x86_64
  - cannot install the best update candidate for package mariadb-devel-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
  - cannot install the best update candidate for package mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64
 Problem 2: package mariadb-gssapi-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 requires mariadb-server(x86-64) = 3:10.3.35-1.module+el8.6.0+1005+cdf19c22, but none of the providers can be installed
  - package mariadb-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 conflicts with mysql-server provided by MariaDB-server-10.6.12-1.el8.x86_64
  - package MariaDB-server-10.6.12-1.el8.x86_64 obsoletes mariadb-server provided by mariadb-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
  - cannot install the best update candidate for package mariadb-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
  - cannot install the best update candidate for package mariadb-gssapi-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
 Problem 3: problem with installed package mariadb-gssapi-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
  - package mariadb-gssapi-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 requires mariadb-server(x86-64) = 3:10.3.35-1.module+el8.6.0+1005+cdf19c22, but none of the providers can be installed
  - package mariadb-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 conflicts with mysql-server provided by MariaDB-server-10.6.12-1.el8.x86_64
  - package MariaDB-server-10.6.12-1.el8.x86_64 obsoletes mariadb-server provided by mariadb-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
  - cannot install the best update candidate for package mariadb-server-utils-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
 Problem 4: problem with installed package mariadb-devel-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
  - package mariadb-devel-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 conflicts with mysql-devel provided by MariaDB-devel-10.6.10-1.el8.x86_64
  - problem with installed package mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64
  - package mariadb-devel-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 conflicts with mysql-devel provided by MariaDB-devel-10.6.11-1.el8.x86_64
  - package mariadb-devel-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64 conflicts with mysql-devel provided by MariaDB-devel-10.6.12-1.el8.x86_64
  - package mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64 requires mariadb-connector-c = 3.1.11-2.el8_3, but none of the providers can be installed
  - package MariaDB-shared-10.6.12-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.x86_64
  - package MariaDB-shared-10.6.12-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.i686
  - cannot install the best update candidate for package mariadb-connector-c-3.1.11-2.el8_3.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

これは、MariaDBとMySQLのパッケージ間の競合、およびMariaDBパッケージの異なるバージョン間の競合が原因です。

解決策

これらの競合を解決するために、以下のオプションがあります:

1. 競合するパッケージを削除して新しいものに置き換える

コマンドラインに--allowerasingフラグを追加して、競合するパッケージを削除し、新しいものに置き換えます。

sudo dnf update --allowerasing

2. 解決できない依存関係のあるパッケージをスキップする

--skip-brokenフラグを使用して、解決できない依存関係のあるパッケージをスキップし、残りのパッケージをアップデートします。

sudo dnf update --skip-broken

3. 最良の候補パッケージだけでなく、他のバージョンも検討する

--nobestフラグを使用して、最良の候補パッケージだけでなく、他のバージョンも検討します。

sudo dnf update --nobest

4. MySQLとMariaDBを別々の場所にインストールする

MySQLとMariaDBの両方をシステムに保持したい場合は、各データベースシステムのドキュメントに従って別々の場所にインストールできます。

5. MariaDBのみを使用する

MariaDBのみを使用することにした場合は、MySQL関連のパッケージを削除してからアップデートします。

sudo dnf remove mysql\* --allowerasing
sudo dnf update

6. MySQLのみを使用する

MySQLのみを使用することにした場合は、MariaDB関連のパッケージを削除してからアップデートします。

sudo dnf remove mariadb\* --allowerasing
sudo dnf update

注意事項

システムに変更を加える前に、必ずデータをバックアップしてください。これにより、データ損失のリスクを最小限に抑えることができます。

まとめ

この記事では、MariaDBとMySQLのパッケージ間の競合、およびMariaDBパッケージの異なるバージョン間の競合を解決する方法をいくつか紹介しました。最適な解決策を選択することで、これらの競合を効果的に解決し、システムの安定性を維持することができます。

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?