wso2 identity server 5.6版
红帽7.5
mariadb-5.5.56-mariadb mariadb服务器
使用附带的mysql连接器
遵循有关将用户存储从h2 embedded更改为mysql/mariadb的官方文档。运行了is\u home/dbscripts中的mysql5.7.sql脚本和is\u home/debscripts/identity中的mysql-5.7.sql脚本
is启动并似乎连接到mariadb用户存储,但是,日志抛出了几个java异常,这些异常都与丢失的表有关,这些表实际上是丢失的:
Table 'regdb.IDN_CLAIM_DIALECT' doesn't exist
Table 'regdb.IDN_CLAIM' doesn't exist
Table 'regdb.IDN_SCIM_GROUP' doesn't exist
Table 'regdb.WF_BPS_PROFILE' doesn't exist
Table 'regdb.IDP' doesn't exist
我将打开.sql文件并进行比较,但是文档有点含糊不清,我在这里阅读混合解决方案。只需要在新创建的regdb数据库中为is5.6创建正确表的当前.sql文件。
谢谢大家的时间。
主数据源.xml
<providers>
<provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
</providers>
<datasources>
<datasource>
<name>WSO2_CARBON_DB</name>
<description>The datasource used for registry and user manager</description>
<jndiConfig>
<name>jdbc/WSO2CarbonDB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://localhost:3306/regdb</url>
<username>regadmin</username>
<password>regadmin</password>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
<defaultAutoCommit>false</defaultAutoCommit>
</configuration>
</definition>
</datasource>
2条答案
按热度按时间ru9i0ody1#
不要将注册表数据库与标识数据库混合使用。为标识表创建单独的数据库,并从master-datasources.xml引用它。从identity.xml中引用相同的jndiconfig。如果仍然有疑问,请发布master-datasources.xml和identity.xml。
6psbrbz92#
您提到的所有缺少的表都包含在is_5.6.0_home/dbscripts/identity/mysql.sql中。请确认已正确导入脚本。
如果你想移动整个碳数据库,
创建新数据库(无需导入)
如前所述更新master-datasources.xml
在服务器首次启动时使用-dsetup参数自动创建数据库表(wso2server.sh-dsetup)
注意:如果使用-dsetup命令填充mysql 5.7或更高版本,请将dbscripts/中的所有mysql5.7.sql文件重命名为mysql.sql。
如果只想移动用户存储数据库
将新数据源添加到master-datasources.xml,而不是更新数据库
将user-mgt.xml中的“datasource”属性修改为新的数据源
阅读有关分离数据库和集群的更多信息,https://docs.wso2.com/display/is560/setting+up+separate+databases+for+clusteringhttps://docs.wso2.com/display/admin44x/sharing+databases+in+a+集群