欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

程序员文章站 2022-02-07 11:06:45
目录1、mysql服务搭建2、weblogic控制台建立数据源并测试问题处理1原因:解决:查看权限以及身份验证机制命令:问题处理2原因:解决:weblogic是美国oracle公司出品的一个appli...

weblogic是美国oracle公司出品的一个application server,确切的说是一个基于javaee架构的中间件,weblogic是用于开发、集成、部署和管理大型分布式web应用、网络应用和数据库应用的java应用服务器。将java的动态功能和java enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。下面介绍下weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法。

1、mysql服务搭建

如果有需要的请移步连接:docker简单部署mysql

2、weblogic控制台建立数据源并测试

数据库类型:mysql;其他保持默认即可

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

其他步骤保持默认即可,一直下一步到配置连接

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

进行配置测试环节

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

问题处理1

测试不通过,错误如下

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

错误 连接测试失败。
错误 unable to load authentication plugin 'caching_sha2_password'.
com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:910)
com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:907)
com.mysql.jdbc.mysqlio.proceedhandshakewithpluggableauthentication(mysqlio.java:1715)
com.mysql.jdbc.mysqlio.dohandshake(mysqlio.java:1244)
com.mysql.jdbc.connectionimpl.coreconnect(connectionimpl.java:2396)
com.mysql.jdbc.connectionimpl.connectonetryonly(connectionimpl.java:2429)
com.mysql.jdbc.connectionimpl.createnewio(connectionimpl.java:2214)
com.mysql.jdbc.connectionimpl.<init>(connectionimpl.java:797)
com.mysql.jdbc.jdbc4connection.<init>(jdbc4connection.java:31)
sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)
sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:62)
sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45)
java.lang.reflect.constructor.newinstance(constructor.java:423)
com.mysql.jdbc.util.handlenewinstance(util.java:395)
com.mysql.jdbc.connectionimpl.getinstance(connectionimpl.java:383)
com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:334)
weblogic.jdbc.common.internal.datasourceutil.testconnection0(datasourceutil.java:340)
weblogic.jdbc.common.internal.datasourceutil.access$000(datasourceutil.java:22)
weblogic.jdbc.common.internal.datasourceutil$1.run(datasourceutil.java:254)

注意第一行(一般也是最重要的)unable to load authentication plugin 'caching_sha2_password'.

原因:

不同版本的身份验证机制不同
5.x版本:default_authentication_plugin=mysql_native_password
8.x版本:default_authentication_plugin=caching_sha2_password

解决:

登陆mysql控制台执行一下命令

查看权限以及身份验证机制命令:

select host,user,plugin,authentication_string from mysql.user;
alter user 'root'@'%' identified by '12345' password expire never; 
alter user 'root'@'%' identified with mysql_native_password by '12345';	
flush privileges;
alter user 'root'@'%' identified by '12345';
mysql> alter user 'root'@'%' identified by '12345' password expire never; 		# 修改加密规则
query ok, 0 rows affected (0.01 sec)

mysql> alter user 'root'@'%' identified with mysql_native_password by '12345';		# 更新一下用户的密码
query ok, 0 rows affected (0.00 sec)

mysql> flush privileges;
query ok, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'%' identified by '12345';		# 重置密码
query ok, 0 rows affected (0.00 sec)

问题处理2

上面执行操作之后,重新测试连接

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

java.lang.classcastexception: java.math.biginteger cannot be cast to java.lang.long
com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1058)

类转换异常,查看mysql日志信息docker logs mysql

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

mbind: operation not permitted

原因:

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

在 odi 12.2.1.4 中添加了 mysql database server 8 作为 source/target 的认证。较旧的 odi 12c 版本未经认证。

解决:

升级到通过 mysql 8 认证的 oracle data integrator 版本 12.2.1.4 或更高版本。

步骤1:(猜测这一步可有可无,下来自己测试,我是操作了的)

1.拷贝mysql8的驱动包到weblogic目录下

/home/weblogic/oracle/middleware/wlserver/server/lib/mysql-connector-java-8.0.22.jar

2.修改wlserver/common/bin/commenv.sh文件的weblogic_classpath=<驱动包路径>

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

export weblogic_classpath="/home/weblogic/oracle/middleware/wlserver/server/lib/mysql-connector-java-8.0.22.jar"

步骤2:(感觉是最关键的)

  • 拷贝驱动包到域的lib目录下,如:/home/weblogic/oracle/middleware/user_projects/domains/basicwlsdomain/lib
  • 修改驱动程序类型为com.mysql.cj.jdbc.driver
  • 连接测试,ok

weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法

到此完美收官!

到此这篇关于weblogic服务建立数据源连接测试更新mysql驱动包的文章就介绍到这了,更多相关weblogic数据源连接测试内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!