5.2. 为 KIE 服务器迁移 MySQL 数据库
如果 Red Hat OpenShift Container Platform 3 中的环境包含使用 MySQL 数据库 pod 的 KIE 服务器,请将 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 或更高版本提供的
mysql
和mysqldump
客户端应用程序。
流程
- 确保没有 Web 客户端,且没有客户端应用程序连接到旧和新部署的任何元素,包括 Business Central 和 KIE 服务器。
- 创建一个空的临时目录并进到其中。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 3 基础架构,并切换到包含旧部署的项目。 要查看旧部署中部署配置名称,请运行以下命令:
oc get dc
查找与 KIE 服务器对应的
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 服务器对应的
mysql
服务。在一个单独的终端窗口中,使用为服务显示的名称和端口号启动从本地主机转发到
mysql
服务的端口转发,例如:oc port-forward service/myapp-mysql 3306:3306
使用记录的用户名创建完整的数据库转储,例如:
mysqldump --all-databases -u rhpam -p -h 127.0.0.1 > mysqldump.sql
出现提示时,输入记录的密码。转储创建可能需要大量时间。
- 使用 Ctrl+C 组合键停止独立窗口中的端口转发。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 4 基础架构,并切换到包含新部署的项目。 要查看新部署中的部署配置名称,请运行以下命令:
oc get dc
查找与 KIE 服务器对应的
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 服务器对应的
mysql
服务。在一个单独的终端窗口中,使用为服务显示的名称和端口号启动从本地主机转发到
mysql
服务的端口转发,例如:oc port-forward service/myappnew-mysql 3306:3306
使用记录的用户名恢复数据库转储,例如:
mysql -u rhpam -p -h 127.0.0.1 < mysqldump.sql
出现提示时,输入记录的密码。恢复可能需要大量时间。
- 使用 Ctrl+C 组合键停止独立窗口中的端口转发。