Red Hat Training
A Red Hat training course is available for RHEL 8
9.2.7.3. mysql_upgrade ユーティリティーを使用したインプレースアップグレード
データベースファイルを RHEL 8 に移行するには、RHEL 7 の MariaDB ユーザーは、mysql_upgrade
ユーティリティーを使用してインプレースアップグレードを実行する必要があります。mysql_upgrade
ユーティリティーは、mariadb-server-utils
サブパッケージにより提供され、mariadb-server
パッケージの依存関係としてインストールされます。
インプレースアップグレードを実行するには、RHEL 8 システムの /var/lib/mysql/
データディレクトリーにバイナリーデータファイルをコピーして、mysql_upgrade
ユーティリティーを使用する必要があります。
この方法を使用すると、以下からデータを移行できます。
- Red Hat Enterprise Linux 7 バージョンの MariaDB 5.5
Red Hat Software Collections のバージョンは、以下の通りです。
- MariaDB 5.5 (サポート対象外になりました)
- MariaDB 10.0 (サポート対象外になりました)
- MariaDB 10.1 (サポート対象外になりました)
- MariaDB 10.2 (サポート対象外になりました)
MariaDB 10.3
MariaDB 10.3 へのアップグレードは、バージョンごとに連続して行うことが推奨されます。移行は、Release Notes for Red Hat Software Collections で該当する章を参照してください。
RHEL 7 バージョンの MariaDB からアップグレードする場合は、ソースデータは /var/lib/mysql/
ディレクトリーに保存されます。Red Hat Software Collections バージョンの MariaDB の場合、ソースデータディレクトリーは /var/opt/rh/<collection_name>/lib/mysql/
です (/opt/rh/mariadb55/root/var/lib/mysql/
データディレクトリーを使用する mariadb55
を除く)。
mysql_upgrade ユーティリティーを使用してアップグレード を実行するには、以下の手順を行います。
前提条件
- アップグレードを実行する前に、MariaDB データベースに保存されている全データのバックアップを作成します。
手順
RHEL 8 システムに
mariadb-server
パッケージがインストールされていることを確認します。# yum install mariadb-server
データのコピー時に、
mariadb
サービスがソースおよびターゲットのシステムで稼働していないことを確認します。# systemctl stop mariadb.service
-
ソースの場所から RHEL 8 ターゲットシステムの
/var/lib/mysql/
ディレクトリーにデータをコピーします。 ターゲットシステムでコピーされたファイルに適切なパーミッションと SELinux コンテキストを設定します。
# restorecon -vr /var/lib/mysql
ターゲットシステムで、MariaDB サーバーを起動します。
# systemctl start mariadb.service
mysql_upgrade
コマンドを実行して、内部テーブルをチェックし、修復します。$ mysql_upgrade
-
アップグレードが完了したら、
/etc/my.cnf.d/
ディレクトリー内のすべての設定ファイルに MariaDB 10.3 に対して有効なオプションのみが含まれていることを確認します。
インプレースアップグレードに関連する特定のリスクと既知の問題があります。たとえば、一部のクエリーが動作しなかったり、アップグレード前とは異なる順序で実行される場合があります。これらのリスクと問題、およびインプレースアップグレードに関する全般的な情報は、MariaDB 10.3 Release Notes を参照してください。