如何在Deployment.toml中配置WSO2_CARBON_DB,WSO2_MB_STORE_DB,WSO2_METRICS_DB,WSO2UM_DB的数据源,以将其从H2更改为mysql?如何在Deployment.toml中写入正确的记录?我添加了有关mysql的记录,但是IS在master-datasources.xml配置中仍然使用H2,而不是mysql,而是针对H2而不是mysql。我的配置:
[database.carbon]
type = "mysql"
url = "jdbc:mysql://is.com:3306/WSO2CARBON_DB?autoReconnect=true"
username = "wso2carbon"
password = "wso2carbon"
[database.mb]
type = "mysql"
url = "jdbc:mysql://is.com:3306/WSO2MB_DB?autoReconnect=true"
username = "wso2carbon"
password = "wso2carbon"
[database.metrics]
type = "mysql"
url = "jdbc:mysql://is.com:3306/WSO2METRICS_DB?autoReconnect=true"
username = "wso2carbon"
password = "wso2carbon"
[database.WSO2UM_DB]
type = "mysql"
url = "jdbc:mysql://is.com:3306/userdb?autoReconnect=true"
username = "wso2carbon"
password = "wso2carbon"
答案 0 :(得分:1)
您不需要配置CARBON_DB,因为此数据库具有与产品相关的内部数据。此数据存储在嵌入式H2数据库中。 但是在较新版本中引入了 SHARED_DB ,该数据库包含注册表和用户管理数据。但是与以前的版本一样,您可以为注册表和用户管理配置不同的数据库。
您可以通过添加以下配置来配置 SHARED_DB :
[database.shared_db]
type = "mysql"
url = "jdbc:mysql://localhost:3306/reg_db"
username = "username"
password = "password"
您可以通过添加以下配置来配置用户管理数据库:
[database.user]
type = "mysql"
url = "jdbc:mysql://is.com:3306/userdb?autoReconnect=true"
username = "wso2carbon"
password = "wso2carbon"
对于 UM_DB ,如果要添加其他属性,则可以采用以下格式添加参数:
pool_options.maxActive = 50
pool_options.maxWait = 60000
pool_options.defaultAutoCommit = false
要配置其他数据库,可以按照下面提到的方法。例如,要配置 MB_DB ,请添加以下配置:
[[datasource]]
id = "WSO2_MB_STORE_DB"
url = "jdbc:mysql://is.com:3306/WSO2MB_DB?autoReconnect=true"
username = "username"
password = "password"
driver = "com.mysql.jdbc.Driver"
validationQuery = "SELECT 1"
pool_options.maxActive = 50
pool_options.maxWait = 60000
pool_options.validationInterval = 30000
pool_options.defaultAutoCommit = false
答案 1 :(得分:0)
为WSO2 API管理器3.0.0设置数据库时,我遇到了完全相同的问题:我可以为MB_STORE_DB和CARBON_DB添加mysql类型的数据源,但是H2类型仍然存在于master-datasources.xml中。
顺便说一下,我不清楚在配置Active-Active Deployment解决方案时是否需要在节点之间共享Carbon DB。
谢谢伯纳德