第5章 マイグレーション
この章では、Red Hat Software Collections 3.0 に含まれるコンポーネントのバージョンへの移行に関する情報を提供します。
5.1. MariaDB 10.2 への移行
Red Hat Enterprise Linux 6 には、デフォルトの MySQL 実装として MySQL 5.1 が含まれています。Red Hat Enterprise Linux 7 には、デフォルトのMySQL実装としてMariaDB 5.5 が搭載されています。MariaDBは、コミュニティーによって開発された、MySQLを置き換えるドロップイン方式のソフトウェアです。MariaDB 10.1 は Red Hat Software Collections 2.2 から Software Collection として提供されており、Red Hat Software Collections 3.0 はMariaDB 10.2 とともに配布されています。
Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 の両方で利用可能なrh-mariadb102 Software Collection は、コアシステムのmysql またはmariadb パッケージと競合しないため、rh-mariadb102 Software Collection をmysql またはmariadb パッケージと一緒にインストールすることが可能です。特定のリソースが競合しないようにするため、両方のバージョンを同時に実行することもできますが、ポート番号と
my.cnf ファイルのソケットを変更する必要があります。さらに、rh-mariadb101 Collection がインストールされ、実行中でも、rh-mariadb102 Software Collection をインストールすることもできます。
なお、MariaDB 5.5 またはMariaDB 10.0 を使用している場合は、Red Hat Software Collections 2.4 Release Notes に記載されているrh-mariadb101 Software Collection に、先にアップグレードする必要があります。
注記
rh-mariadb102 Software Collection では、NFS によるマウントやscl registerコマンドによる動的登録はサポートしていません。
5.1.1. rh-mariadb101 および rh-mariadb102 Software Collections 間の主な相違点
MariaDB 10.2 の主な変更点は、「MariaDB の変更点」 に記載されています。
複数のオプションがデフォルト値を変更しているか、非推奨または削除されました。詳細は、ナレッジベースの記事Migrating from MariaDB 10.1 to the MariaDB 10.2 Software Collectionを参照してください。
rh-mariadb102 Software Collection には、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージをインストールする rh-mariadb102-syspaths パッケージが含まれます。rh-mariadb102*-syspaths パッケージをインストールした後、rh-mariadb102* パッケージで提供されるバイナリーやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。*-syspaths パッケージは、ベースの Red Hat Enterprise Linux システムと対応するパッケージと競合することに注意してください。
5.1.2. rh-mariadb101 から rh-mariadb102 Software Collection へのアップグレード
重要
アップグレードする前に、MariaDB データベースを含むすべてのデータのバックアップを作成します。
- rh-mariadb101 データベースサーバーが実行している場合は停止します。サーバーを停止する前に、
innodb_fast_shutdownオプションを0に設定し、InnoDBが完全なパージや挿入バッファーマージを含む低速なシャットダウンを実行します。アップストリームのドキュメント で、このオプションの詳細を参照してください。この操作は、通常のシャットダウンの場合よりも長い時間がかかる可能性があります。mysql -uroot -p -e "SET GLOBAL innodb_fast_shutdown = 0"rh-mariadb101 サーバーを停止します。service rh-mariadb101-mariadb stop - rh-mariadb102 Software Collection をインストールします。
yum install rh-mariadb102-mariadb-serverこれらの Collections が競合しないため、rh-mariadb102 Software Collection のインストール中は rh-mariadb101 Software Collection をインストールすることができることに注意してください。 /etc/opt/rh/rh-mariadb102/my.cnfファイルと/etc/opt/rh/rh-mariadb102/my.cnf.d/ディレクトリーに格納されているrh-mariadb102 の設定を検査します。/etc/opt/rh/rh-mariadb101/my.cnfおよび/etc/opt/rh/rh-mariadb101/my.cnf.d/に保存されているrh-mariadb101 の設定と比較して、必要に応じて調整してください。- rh-mariadb101 Software Collection のすべてのデータは、特に設定されていない限り、
/var/opt/rh/rh-mariadb101/lib/mysql/ディレクトリーに保存されます。このディレクトリーの内容をすべて/var/opt/rh/rh-mariadb102/lib/mysql/にコピーします。コンテンツを移動することはできますが、アップグレードを続行する前にデータをバックアップすることを忘れないようにしてください。データがmysqlユーザーによって所有され、SELinux コンテキストが正しいことを確認します。 - rh-mariadb102 データベースサーバーを起動します。
service rh-mariadb102-mariadb start - データ移行を実行します。
scl enable rh-mariadb102 mysql_upgraderootユーザーに空ではないパスワードが定義されている場合 (パスワードを定義しておく必要あり) は、-pオプションを指定して mysql_upgrade ユーティリティーを呼び出してパスワードを指定する必要があります。scl enable rh-mariadb102 -- mysql_upgrade -p