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 或更高版本提供的 mysqlmysqldump 客户端应用程序。

流程

  1. 确保没有 Web 客户端,且没有客户端应用程序连接到旧和新部署的任何元素,包括 Business Central 和 KIE 服务器。
  2. 创建一个空的临时目录并进到其中。
  3. 使用 oc 命令,登录到 Red Hat OpenShift Container Platform 3 基础架构,并切换到包含旧部署的项目。
  4. 要查看旧部署中部署配置名称,请运行以下命令:

    oc get dc

    查找与 KIE 服务器对应的 mysql 部署配置。

  5. 查看部署配置的配置 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
  6. 要查看旧部署中的服务名称,请运行以下命令:

    oc get svc

    查找与 KIE 服务器对应的 mysql 服务。

  7. 在一个单独的终端窗口中,使用为服务显示的名称和端口号启动从本地主机转发到 mysql 服务的端口转发,例如:

    oc port-forward service/myapp-mysql 3306:3306
  8. 使用记录的用户名创建完整的数据库转储,例如:

    mysqldump --all-databases -u rhpam -p -h 127.0.0.1 > mysqldump.sql

    出现提示时,输入记录的密码。转储创建可能需要大量时间。

  9. 使用 Ctrl+C 组合键停止独立窗口中的端口转发。
  10. 使用 oc 命令,登录到 Red Hat OpenShift Container Platform 4 基础架构,并切换到包含新部署的项目。
  11. 要查看新部署中的部署配置名称,请运行以下命令:

    oc get dc

    查找与 KIE 服务器对应的 mysql 部署配置。

  12. 查看部署配置的配置 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
  13. 要查看新部署中的服务名称,请运行以下命令:

    oc get svc

    查找与 KIE 服务器对应的 mysql 服务。

  14. 在一个单独的终端窗口中,使用为服务显示的名称和端口号启动从本地主机转发到 mysql 服务的端口转发,例如:

    oc port-forward service/myappnew-mysql 3306:3306
  15. 使用记录的用户名恢复数据库转储,例如:

    mysql -u rhpam -p -h 127.0.0.1 < mysqldump.sql

    出现提示时,输入记录的密码。恢复可能需要大量时间。

  16. 使用 Ctrl+C 组合键停止独立窗口中的端口转发。