サポートされている Yum ベースのプラットフォーム (リストについては、セクション2.5.1「MySQL Yum リポジトリを使用して MySQL を Linux にインストールする」 を参照) では、MySQL のインプレースアップグレード (古いバージョンを置き換えてから、古いデータファイルを使用して新しいバージョンを実行) を MySQL Yum リポジトリで実行できます。
MySQL に対して更新を実行する前に、セクション2.11「MySQL のアップグレード」の手順に慎重に従ってください。 そこで議論されている手順のうち、更新の前にデータベースのバックアップを取ることが特に重要です。
次の手順では、MySQL を MySQL Yum リポジトリとともにインストールしたか、「MySQL Developer Zone MySQL ダウンロードページ」から直接ダウンロードした RPM パッケージを使用してインストールしたことを前提としています。そうでない場合は、Replacing a Third-Party Distribution of MySQL Using the MySQL Yum Repository の手順に従います。
-
ターゲットシリーズの選択
デフォルトでは、MySQL Yum リポジトリは、インストール時に選択したリリースシリーズの最新バージョンに MySQL を更新します (詳細は リリースシリーズの選択 を参照)。つまり、5.7.x インストールは 8.0.x リリースに自動的に更新されません。 別のリリースシリーズに更新するには、最初に選択したシリーズ (デフォルトまたは自分自身) のサブリポジトリを無効にし、ターゲットシリーズのサブリポジトリを有効にする必要があります。 これを行うには、リリースシリーズの選択 に示されている一般的な手順を参照してください。 MySQL 5.7 から 8.0 にアップグレードするには、リリースシリーズの選択 に示されているステップの reverse を実行し、MySQL 5.7 シリーズのサブリポジトリを無効にして、MySQL 8.0 シリーズに対して有効にします。
原則として、あるリリースシリーズから別のものにアップグレードするには、シリーズをスキップせずに次のシリーズに移動します。 たとえば、現在 MySQL 5.6 を実行しており、8.0 にアップグレードする場合は、まず MySQL 5.7 にアップグレードしてから 8.0 にアップグレードします。
重要MySQL 5.7 から 8.0 へのアップグレードに関する重要な情報は、Upgrading from MySQL 5.7 to 8.0 を参照してください。
-
MySQL のアップグレード
dnf 対応でないプラットフォームの場合は、次のコマンドを使用して MySQL とそのコンポーネントをアップグレードします:
sudo yum update mysql-server
dnf 対応のプラットフォームの場合:
sudo dnf upgrade mysql-server
または、システム上のすべてを更新するように Yum に指示することで、MySQL を更新することもできます。これにはかなり時間がかかる可能性があります。 dnf 対応でないプラットフォームの場合:
sudo yum update
dnf 対応のプラットフォームの場合:
sudo dnf upgrade
-
MySQL の再起動
MySQL Server は、Yum による更新後必ず再起動します。 MySQL 8.0.16 より前は、サーバーの再起動後に mysql_upgrade を実行して、古いデータとアップグレードされたソフトウェア間の非互換性を確認し、場合によっては解決します。mysql_upgrade は、他の機能も実行します。詳細は、セクション4.4.5「mysql_upgrade — MySQL テーブルのチェックとアップグレード」 を参照してください。 MySQL 8.0.16 では、サーバーは以前に mysql_upgrade によって処理されたすべてのタスクを実行するため、このステップは必要ありません。
特定のコンポーネントのみを更新することもできます。 次のコマンドを使用して、MySQL コンポーネントにインストールされているすべてのパッケージをリストします (dnf 対応システムの場合は、コマンド内の yum を dnf に置き換えます):
sudo yum list installed | grep "^mysql"
選択したコンポーネントのパッケージ名を特定した後、次のコマンドを使用してパッケージを更新し、package-name
をパッケージの名前に置き換えます。 dnf 対応でないプラットフォームの場合:
sudo yum update package-name
dnf 対応プラットフォームの場合:
sudo dnf upgrade package-name
共有クライアントライブラリのアップグレード
Yum リポジトリを使用して MySQL を更新したあとも、古いバージョンの共有クライアントライブラリを使用してコンパイルされたアプリケーションは機能するはずです。
アプリケーションを再コンパイルし、それらを更新されたライブラリに動的にリンクする場合:新しいライブラリと古いライブラリ間のシンボルのバージョニングに違いまたは追加がある新しいバージョンの共有ライブラリ (たとえば、新しい標準 8.0 共有クライアントライブラリと、Linux 配布ソフトウェアリポジトリによってネイティブに出荷された共有ライブラリの古いバージョンまたは可変バージョンの共有ライブラリ、または他のソースから出荷されたアプリケーション) の場合、更新された新しい共有ライブラリを使用してコンパイルされたアプリケーションでは、それらの更新されたライブラリがアプリケーションがデプロイされているシステムで必要になります。 予期したとおり、これらのライブラリが配置されていない場合、共有ライブラリを必要とするアプリケーションは失敗します。 このため、共有ライブラリのパッケージは、必ず MySQL からそれらのシステムにデプロイしてください。 これを行うには、MySQL Yum リポジトリをシステムに追加し (MySQL Yum リポジトリの追加 を参照)、追加の MySQL 製品およびコンポーネントの Yum でのインストール に記載されている手順を使用して最新の共有ライブラリをインストールします。