WSO2 ISKM 从5.7.0升级至6.1.0的无损无重配置流程咨询
WSO2 ISKM 5.7.0 升级至 6.1.0 操作流程(无数据丢失、无需重配应用)
一、升级前准备
- 全量备份现有环境:
- 打包5.7.0版本的
repository目录,命令:tar -czf iskm-5.7.0-repo-backup.tar.gz <ISKM_5.7.0_HOME>/repository - 备份数据库(包含用户、角色、OAuth2应用数据等),以MySQL为例:
mysqldump -u root -p iskm_db > iskm_db_full_backup.sql
- 打包5.7.0版本的
- 下载开源版WSO2 ISKM 6.1.0并解压到目标路径,确认JDK版本兼容(6.1.0推荐使用JDK 11)
- 停止5.7.0版本的ISKM服务:Linux执行
./<ISKM_5.7.0_HOME>/bin/iskm.sh stop,Windows直接关闭服务窗口或用对应停止命令
二、数据库结构迁移
5.7.0到6.1.0的数据库表结构有增量更新,需执行官方迁移脚本:
- 找到6.1.0安装包内的迁移脚本,路径为
dbscripts/identity/migration/<你的数据库类型>(比如MySQL对应mysql目录) - 执行对应版本的增量脚本,以MySQL为例:
mysql -u root -p iskm_db < <ISKM_6.1.0_HOME>/dbscripts/identity/migration/mysql/5.7.0_to_6.1.0.sql - 迁移完成后,手动验证核心数据表(如
IDN_OAUTH2_CLIENT_APPLICATION、UM_USER、UM_ROLE)的数据是否完整,无缺失或损坏
三、配置迁移(保障应用无需重配)
这一步是核心,要把原环境的应用配置、自定义配置完整迁移到新版本:
- 核心配置同步:
- 复制5.7.0的
repository/conf/deployment.toml到6.1.0对应目录,但不要直接覆盖——对比两个文件的差异,把原环境的自定义配置(比如数据库连接、端口、身份验证流程)合并到6.1.0的deployment.toml中,保留新版本的新增配置项 - 复制5.7.0的
repository/conf/identity目录下的所有文件(如service-providers.xml、identity-providers.xml)到6.1.0对应目录,这些文件存储了所有已配置的应用信息,直接迁移就能避免重新配置应用
- 复制5.7.0的
- 证书与密钥迁移:
- 复制5.7.0的
repository/resources/security目录下的密钥库、信任库文件(比如wso2carbon.jks、client-truststore.jks)到6.1.0对应目录,确保密钥库密码和原环境一致
- 复制5.7.0的
- 自定义扩展与应用迁移:
- 复制5.7.0的
repository/components/dropins和repository/components/lib下的自定义jar包(比如自定义身份验证器、第三方连接器)到6.1.0对应目录 - 复制5.7.0的
repository/deployment/server下的所有应用包(war、ear)到6.1.0对应目录
- 复制5.7.0的
四、启动新版本并验证
- 启动6.1.0版本的ISKM服务:Linux执行
./<ISKM_6.1.0_HOME>/bin/iskm.sh start - 基础功能验证:
- 访问管理控制台,用原管理员账号登录,检查用户、角色列表是否完整
- 查看服务提供商列表,确认所有原应用都存在,配置信息和原环境一致
- 应用功能验证:
- 测试现有应用的登录、授权流程,确保OAuth2令牌发放、验证正常
- 测试用户自助服务(密码重置、个人信息修改)是否正常可用
- 日志检查:查看
repository/logs/wso2carbon.log,确认无致命错误或关键警告
五、故障回滚方案
如果升级过程中出现问题,立即执行回滚:
- 停止6.1.0版本的ISKM服务
- 恢复5.7.0的
repository目录备份:tar -xzf iskm-5.7.0-repo-backup.tar.gz -C <ISKM_5.7.0_HOME>/ - 恢复数据库备份:
mysql -u root -p iskm_db < iskm_db_full_backup.sql - 启动5.7.0版本的ISKM服务,确认业务恢复正常
内容的提问来源于stack exchange,提问作者user666
相关产品推荐
相关产品推荐

