本机用的Oracle JDK1.8,运行druid连接mysql没问题,其中设置了userCallback和passwordCallback来对用户名和密码加密,运行时解密。在win上运行没问题,在新安装的CentOS下,运行时报错,显示错误是:
Caused by: java.sql.SQLException: Access denied for user '180C1AD83CA4F0C8E7D27294BBB97A1D'@'10.95.68.98' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
加密的用户名没解密,估计是userCallback没生效,去看了代码,没问题呀,首先就kao虑环境问题,linux上是openjdk,版本是1.7.0,首先上传了一个oracle jdk rpm包,rpm安装了,默认JDK切换为安装的,再执行,所以数据库连接就正确了。
估计是openjdk缺少包,导致callback类无法执行。