如何更改H2数据库密码?

时间:2018-12-24 03:25:13

标签: wso2

我无法更改H2数据库的密码。我试图用命令来做到这一点:

chpasswd.sh --db-url "jdbc:h2:repository/database/WSO2CARBON_DB" --db-driver org.h2.Driver --db-username ... --db-password ... --username ... --new-password ...

当我启动命令时,它成功结束。 但是密码没有改变。 IS并非以新密码开头,而是以旧密码开头。 如何更改H2数据库的密码?

3 个答案:

答案 0 :(得分:1)

WSO2产品提供的“ chpasswd.sh”脚本用于更改产品的管理员密码,而与h2数据库密码无关。

如果尝试更改H2数据库密码,则必须登录到h2控制台并更新db用户密码。以下是步骤。

您可以下载h2控制台表格[1]。之后,将其解压缩并转到h2 / bin文件夹。然后使用以下命令启动h2控制台。

sh h2.sh

现在,您可以在浏览器(http://localhost:8082)中访问h2控制台,并使用数据库路径和当前凭据访问数据库。然后运行以下SQL更新数据库密码。

ALTER USER wso2carbon SET PASSWORD 'NEW_PASSWORD'

此更改之后,由于数据库密码更新,WSO2产品将无法启动。您将必须在“ repository / conf / datasources / master-datasources.xml”文件中更新数据库密码。

此外,重要的一点是,不建议将H2用于生产中的WSO2产品。

[1] http://www.h2database.com/h2-2017-06-10.zip

答案 1 :(得分:0)

您可以使用以下命令之一来更改H2数据库的管理员用户密码。

sh chpasswd.sh --db-url "jdbc:h2:repository/database/WSO2CARBON_DB" --db-driver "org.h2.Driver" --db-username "wso2carbon" --db-password "wso2carbon" --username "admin" --new-password "admin123"

sh chpasswd.sh --db-url "jdbc:h2:repository/database/WSO2CARBON_DB" --username "admin" --new-password "admin123"

如果仍然遇到相同的问题,请提及WSO2产品和您要更改管理员密码的产品版本。

答案 2 :(得分:0)

我假设您正在关注此document。请注意,仅当您不知道管理员密码且需要重设密码时才使用此密码。如果您知道当前密码,则可以按照this进行操作。

默认情况下,WSO2 IS带有LDAP用户存储。您可以通过在[IS_HOME] /repository/conf/user-mgt.xml中检查“ UserStoreManager”来检查活动的用户存储。更多信息here

如果是JDBC,则必须通过检查user-mgt.xml中的dataSource名称并从[IS_HOME] /repository/conf/datasources/master-datasources.xml中找到相关的数据库,并按照{{ 3}}。

如果是LDAP,则可能必须通过诸如Apache Directory Studio之类的工具连接到该ldap来更改密码。