简体   繁体   English

Hybris与mysql数据库的连接问题

[英]Connectivity issues to mysql database from hybris

I was trying to setup hybris but when I tried to initialize from the CLI, the build failed due to Mysql connectivity issue. 我试图设置hybris,但是当我尝试从CLI初始化时,由于Mysql连接问题,构建失败。 However I am able to connect to mysql database from hybris node using mysql client. 但是我能够使用mysql客户端从hybris节点连接到mysql数据库。

Can any one help me on this ? 谁可以帮我这个事 ? Could it be some additional privileges required ? 可能需要一些其他特权吗?

Following is the error thrown at last when performing "ant initialize": 以下是执行“蚂蚁初始化”时最后引发的错误:

 [java] ERROR [main] [DataSourceImpl] error connecting to DataSource having url jdbc:mysql://<mysql-ip>:3306/hybrisdatabase?useConfigs=maxPerformance&characterEncoding=utf8&useSSL=false: Unknown error 1045

Full Error Logs 完整的错误日志

server:
     [echo] 
     [echo] Configuring server at /ABC/hybris/bin/platform/tomcat
     [echo] Using config set at /ABC/hybris/config/tomcat
     [echo]             
     [echo] copying from /ABC/hybris/config/tomcat to /ABC/hybris/bin/platform/tomcat
     [copy] Copying 9 files to /ABC/hybris/bin/platform/tomcat
     [copy] Copying 3 files to /ABC/hybris/bin/platform/tomcat
     [copy] Copying 2 files to /ABC/hybris/bin/platform/tomcat
     [copy] Copying 1 file to /ABC/hybris/bin/platform/tomcat/lib
     [echo] 
     [echo] Embedded server does not seem to be running (no PID found). No restart necessary.
     [echo]                         

initialize:
    [input] skipping input as property tenant has already been set.
     [java] ---------------------------------------------------------------
     [java] Warning: you're using at least one deprecated extension!
     [java] Please note that they may not be available in future releases.
     [java] 
     [java] Deprecated extensions: [liveeditaddon, sapcoreodata]
     [java] ---------------------------------------------------------------
     [java] ---------------------------------------------------------------
     [java] Warning: you're using at least one deprecated extension!
     [java] Please note that they may not be available in future releases.
     [java] 
     [java] Deprecated extensions: [liveeditaddon, sapcoreodata]
     [java] ---------------------------------------------------------------
     [java] Exception in thread "main" java.lang.reflect.InvocationTargetException
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:498)
     [java]     at de.hybris.bootstrap.loader.Loader.execute(Loader.java:142)
     [java]     at de.hybris.bootstrap.loader.Loader.main(Loader.java:118)
     [java] Caused by: java.lang.RuntimeException: java.sql.SQLException: Unknown error 1045
     [java]     at de.hybris.platform.jdbcwrapper.DataSourceImpl.adjustDatabaseInfos(DataSourceImpl.java:647)
     [java]     at de.hybris.platform.jdbcwrapper.DataSourceImpl.<init>(DataSourceImpl.java:213)
     [java]     at de.hybris.platform.jdbcwrapper.DataSourceImpl.<init>(DataSourceImpl.java:149)
     [java]     at de.hybris.platform.core.DataSourceImplFactory.createDataSource(DataSourceImplFactory.java:51)
     [java]     at de.hybris.platform.core.AbstractTenant$HybrisDataSourceBuilder.createMasterDataSource(AbstractTenant.java:2869)
     [java]     at de.hybris.platform.core.AbstractTenant$HybrisDataSourceBuilder.buildMasterDataSourceOnce(AbstractTenant.java:2631)
     [java]     at de.hybris.platform.core.AbstractTenant$HybrisDataSourceBuilder.build(AbstractTenant.java:2577)
     [java]     at de.hybris.platform.core.AbstractTenant.doInitializeSafe(AbstractTenant.java:329)
     [java]     at de.hybris.platform.core.AbstractTenant.doInitialize(AbstractTenant.java:308)
     [java]     at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:674)
     [java]     at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:648)
     [java]     at de.hybris.platform.core.Registry.activateTenant(Registry.java:709)
     [java]     at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:556)
     [java]     at de.hybris.platform.core.Registry.activateMasterTenantForInit(Registry.java:625)
     [java]     at de.hybris.platform.util.ClientExecuter.execute(ClientExecuter.java:39)
     [java]     ... 6 more
     [java] Caused by: java.sql.SQLException: Unknown error 1045
     [java]     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
     [java]     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970)
     [java]     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)
     [java]     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)
     [java]     at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1710)
     [java]     at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
     [java]     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
     [java]     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
     [java]     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
     [java]     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
     [java]     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
     [java]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     [java]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
     [java]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
     [java]     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
     [java]     at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
     [java]     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
     [java]     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
     [java]     at de.hybris.platform.jdbcwrapper.JDBCConnectionFactory.createRawSQLConnection(JDBCConnectionFactory.java:189)
     [java]     at de.hybris.platform.jdbcwrapper.JDBCConnectionFactory.createSQLConnection(JDBCConnectionFactory.java:220)
     [java]     at de.hybris.platform.jdbcwrapper.JDBCConnectionFactory.makeObject(JDBCConnectionFactory.java:109)
     [java]     at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)
     [java]     at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
     [java]     at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
     [java]     at de.hybris.platform.jdbcwrapper.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:113)
     [java]     at de.hybris.platform.jdbcwrapper.ConnectionErrorCheckingJDBCConnectionPool.borrowConnection(ConnectionErrorCheckingJDBCConnectionPool.java:97)
     [java]     at de.hybris.platform.jdbcwrapper.DataSourceImpl.adjustDatabaseInfos(DataSourceImpl.java:629)
     [java]     ... 20 more
     [java] ERROR [main] [DataSourceImpl] error connecting to DataSource having url jdbc:mysql://10.43.4.168:3306/hemdevhybris?useConfigs=maxPerformance&characterEncoding=utf8&useSSL=false: Unknown error 1045
     [java] shutting down hybris registry..

BUILD FAILED
/TK/hybris/bin/platform/build.xml:123: The following error occurred while executing this line:
/ABC/hybris/bin/platform/resources/ant/antmacros.xml:1021: The following error occurred while executing this line:
/ABC/hybris/bin/platform/resources/ant/platformadministration.xml:51: The following error occurred while executing this line:
/ABC/hybris/bin/platform/resources/ant/antmacros.xml:878: Java returned: 1

Hybris local.properties: Hybris local.properties:

db.url=jdbc:mysql://<mysql-IP>:3306/hybrisdatabase?useConfigs=maxPerformance&characterEncoding=utf8&useSSL=false
db.driver=com.mysql.jdbc.Driver
db.username=hybris-user
db.password=*****
db.tableprefix=
mysql.optional.tabledefs=CHARSET=utf8 COLLATE=utf8_bin
mysql.tabletype=InnoDB

Mysql connectivity from hybris node: 来自hybris节点的MySQL连接:

[hybris@****platform]$ mysql -h <mysql-ip> -u hybris-user -p'password'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2188
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hybrisdatabase       |
+--------------------+
2 rows in set (0.01 sec)


MySQL [(none)]>  SHOW GRANTS FOR 'hybris-user'@'%';
+------------------------------------------------------------------+
| Grants for hybris-user@%                                      |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hybris-user'@'%'                       |
| GRANT ALL PRIVILEGES ON `hybrisdatabase`.* TO 'hybris-user'@'%' |
+------------------------------------------------------------------+
2 rows in set (0.00 sec)

MySQL [(none)]> use hybrisdatabase;
Database changed
MySQL [hybrisdatabase]> show tables;
Empty set (0.01 sec)

While creating the Mysql password, please avoid special characters and give the same password properly in Hybris local.properties file. 创建Mysql密码时,请避免使用特殊字符,并在Hybris local.properties文件中正确输入相同的密码。 The "ant" command for Hybris initialization won't work well with MySql passwords with special characters such as "-, +,#,:.". Hybris初始化的“ ant”命令不适用于带有特殊字符(例如“-,+,#、:”)的MySql密码。

Did you copy the MySQL lib to /hybris/bin/platform/lib/dbdriver/? 您是否将MySQL库复制到/ hybris / bin / platform / lib / dbdriver /? MySQL lib is not shipped with standard hybris. MySQL库未附带标准hybris。

您的MySql Server需要运行,另外,您还需要将MySQL jar文件放入平台的lib文件夹中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM