5.2. KIE Server の MySQL データベースの移行
Red Hat OpenShift Container Platform バージョン 3 の環境に、MySQL データベース Pod を使用する KIE Server が含まれる場合は、MySQL データベースコンテンツを、以前のデプロイメントから新しいデプロイメントにコピーします。このアクションにより、既存のプロセスの状態が新しいデプロイメントにコピーされます。
前提条件
- Red Hat OpenShift Container Platform バージョン 3 および Red Hat OpenShift Container Platform バージョン 4 のインフラストラクチャーの両方に、ネットワークでアクセスできるマシンが必要です。
-
対象のマシンに Red Hat OpenShift Container Platform バージョン 4 からの
ocコマンドラインクライアントをインストールしておく必要があります。コマンドラインクライアントのインストール方法は、Red Hat OpenShift Container Platform ドキュメントの「 CLI ツール 」を参照してください。 -
MySQL バージョン 8 以降または MariaDB バージョン 10 以降で提供されるクライアントアプリケーション
mysqlおよびmysqldumpがインストールされている。
手順
- Business Central や KIE Server など、以前のデプロイメントや新しいデプロイメントの要素に接続されている Web クライアントやクライアントアプリケーションがないことを確認します。
- 空の一時ディレクトリーを作成して、そのディレクトリーに移動します。
-
ocコマンドを使用して、Red Hat OpenShift Container Platform バージョン 3 インフラストラクチャーにログインし、以前のデプロイメントが含まれるプロジェクトに切り替えます。 以前のデプロイメントにあるデプロイメント設定名を表示するには、以下のコマンドを実行します。
oc get dc
KIE Server に対応する
mysqlデプロイメント設定を検索します。以下のようにデプロイメント設定の YAML を表示します。
oc edit dc/myapp-mysql
以下のように、このファイルでデータベースサーバーのユーザー名 (通常
rhpam) およびパスワードを検索します。- name: MYSQL_USER value: rhpam - name: MYSQL_PASSWORD value: NDaJIV7!
ユーザー名とパスワードを記録します。ファイルに変更を加えないでください。
注記次のコマンドを使用して、ユーザー名とパスワードを取得することもできます。
oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_USER")]}'.value oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_PASSWORD")]}'.value以前のデプロイメントにあるサービス名を表示するには、以下のコマンドを実行します。
oc get svc
KIE Server に対応する
mysqlサービスを検索します。以下の例のように、別のターミナルウィンドウで、サービスの名前およびポート番号を使用してローカルホストから
mysqlサービスへのポート転送を開始します。oc port-forward service/myapp-mysql 3306:3306
以下の例のように、記録したユーザー名を使用して、フルデータベースダンプを作成します。
mysqldump --all-databases -u rhpam -p -h 127.0.0.1 > mysqldump.sql
プロンプトが表示されたら、記録したパスワードを入力します。ダンプの作成にはかなり時間がかかる場合があります。
- kbd:[Ctrl+C] のキーボードの組み合わせを使用して、別のウィンドウのポート転送を停止します。
-
ocコマンドを使用して、Red Hat OpenShift Container Platform バージョン 4 インフラストラクチャーにログインし、新しいデプロイメントが含まれるプロジェクトに切り替えます。 新しいデプロイメントにあるデプロイメント設定名を表示するには、以下のコマンドを実行します。
oc get dc
KIE Server に対応する
mysqlデプロイメント設定を検索します。以下のようにデプロイメント設定の YAML を表示します。
oc edit dc/myappnew-mysql
このファイルでデータベースサーバーのユーザー名 (通常
rhpam) およびパスワードを検索します。ユーザー名とパスワードを記録します。ファイルに変更を加えないでください。注記次のコマンドを使用して、ユーザー名とパスワードを取得することもできます。
oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_USER")]}'.value oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_PASSWORD")]}'.value新しいデプロイメントにあるサービス名を表示するには、次のコマンドを実行します。
oc get svc
KIE Server に対応する
mysqlサービスを検索します。以下の例のように、別のターミナルウィンドウで、サービスの名前およびポート番号を使用してローカルホストから
mysqlサービスへのポート転送を開始します。oc port-forward service/myappnew-mysql 3306:3306
以下のように、記録したユーザー名を使用してデータベースのダンプを復元します。
mysql -u rhpam -p -h 127.0.0.1 < mysqldump.sql
プロンプトが表示されたら、記録したパスワードを入力します。復元にはかなり時間がかかる場合があります。
- kbd:[Ctrl+C] のキーボードの組み合わせを使用して、別のウィンドウのポート転送を停止します。