WSO2 IE 6.3.0:将 H2 更改为 MySQL 的问题

WSO2 IE 6.3.0: Issue changing H2 to MySQL

我是 WSO2 的新手,一直在研究安装和测试产品。我已经在我的 win 10 上安装了最新的 WSO2 IE 6.3.0。现在,我正在将 carbon 的默认数据库从 H2 更改为 MySQL,这就是我遇到问题并需要帮助的地方。

我已按照 https://docs.wso2.com/display/ADMIN44x/Changing+to+MySQL 的说明进行操作,即

  1. 在本地主机
  2. 上安装了 mysql 5.7.23
  3. 已创建 regdb 数据库和 regadmin 用户并分配权限。
  4. 更改了master-database.xml下的文件
    • C:\Program Files\WSO2\Enterprise Integrator.3.0\conf\datasources and
    • C:\Program Files\WSO2\Enterprise Integrator.3.0\wso2\analytics\conf\datasources

如下

    <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>

未更改 registry.xml 和 user-mgt.xml 因为未更改数据源名称。

现在,当第一次使用以下命令启动产品时,它会为管理员用户提供错误。

Caused by: org.wso2.carbon.user.core.UserStoreException: Admin user has not been created. Error occurs while creating Admin user in primary user store.

下面的完整错误:

C:\Program Files\WSO2\Enterprise Integrator.3.0\wso2\analytics\bin>wso2server.bat -Dsetup
JAVA_HOME environment variable is set to C:\Program Files\Java\jdk1.8.0_181
CARBON_HOME environment variable is set to C:\PROGRA~1\WSO2\ENTERP~1AA0C~1.0\wso2\ANALYT~1\bin\..
Loading spark environment variables
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
[2018-08-29 14:15:36,028] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Starting WSO2 Carbon...
[2018-08-29 14:15:36,028] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Operating System : Windows 10 10.0, amd64
[2018-08-29 14:15:36,043] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Home        : C:\Program Files\Java\jdk1.8.0_181\jre
[2018-08-29 14:15:36,043] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Version     : 1.8.0_181
[2018-08-29 14:15:36,043] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java VM          : Java HotSpot(TM) 64-Bit Server VM 25.181-b13,Oracle Corporation
[2018-08-29 14:15:36,043] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Carbon Home      : C:\PROGRA~1\WSO2\ENTERP~1AA0C~1.0\wso2\ANALYT~1\bin\..
[2018-08-29 14:15:36,043] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  Java Temp Dir    : C:\PROGRA~1\WSO2\ENTERP~1AA0C~1.0\wso2\ANALYT~1\bin\..\tmp
[2018-08-29 14:15:36,043] [EI-Analytics]  INFO {org.wso2.carbon.core.internal.CarbonCoreActivator} -  User             : Thapa, en-US, Europe/Berlin
[2018-08-29 14:15:36,304] [EI-Analytics]  INFO {org.wso2.carbon.event.output.adapter.kafka.internal.ds.KafkaEventAdapterServiceDS} -  Successfully deployed the Kafka output event adaptor service
[2018-08-29 14:15:36,460] [EI-Analytics]  INFO {org.wso2.carbon.event.template.manager.core.internal.ds.TemplateDeployerServiceTrackerDS} -  Successfully deployed the execution manager tracker service
[2018-08-29 14:15:40,945] [EI-Analytics] ERROR {org.wso2.carbon.user.core.common.DefaultRealm} -  nullType class java.lang.reflect.InvocationTargetException
org.wso2.carbon.user.core.UserStoreException: nullType class java.lang.reflect.InvocationTargetException
        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:401)
        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:222)
        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:127)
        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:264)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:102)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:115)
        at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:72)
        at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.run(BundleContextImpl.java:711)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
        at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:355)
        ... 22 more
Caused by: org.wso2.carbon.user.core.UserStoreException: Admin user has not been created. Error occurs while creating Admin user in primary user store.
        at org.wso2.carbon.user.core.common.AbstractUserStoreManager.addInitialAdminData(AbstractUserStoreManager.java:5821)
        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:299)
        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:238)
        ... 27 more
Caused by: org.wso2.carbon.user.core.UserStoreException: Error while persisting user : admin
        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.persistUser(JDBCUserStoreManager.java:1414)
        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.doAddUser(JDBCUserStoreManager.java:1272)
        at org.wso2.carbon.user.core.common.AbstractUserStoreManager.addInitialAdminData(AbstractUserStoreManager.java:5815)
        ... 29 more
Caused by: org.wso2.carbon.user.core.UserStoreException: Error occurred while updating string values to database.
        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.updateStringValuesToDatabase(JDBCUserStoreManager.java:2432)
        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.persistUser(JDBCUserStoreManager.java:1318)
        ... 31 more
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'UM_CHANGED_TIME' at row 1
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2868)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)

因为,我是 WSO2 的新手,你能指出我的错误吗?或者,如果我遗漏了什么?

此外,在上面的文档 link 中,它说目录为 ../repository/conf,但我在 HOME 下没有这个存储库目录。我正在附加一个具有树目录结构的文件。 enter image description here

谢谢。

您有 运行 MySQL 的数据库脚本吗?该脚本在 DB 上创建表,完成后您可以通过在 masterdatasource.xml 中配置它来连接到 DB,不同 DB 的 DB 脚本可以在文件夹 dbscripts[=12= 下找到]

您能为 MySQL 设置驱动程序吗?

下载相关的 MySQL Java 连接器 JAR 文件,并将其复制到 /repository/components/lib/ 目录。

详情请参考https://docs.wso2.com/display/ADMIN44x/Setting+up+MySQL

如果您使用的是MySQL 5.7,执行以下步骤创建数据库表时请确保使用正确的数据库脚本。

mysql -u regadmin -p -Dregdb < 'PRODUCT_HOME/dbscripts/mysql5.7.sql';

谢谢