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


Posted in MySQL onJanuary 22, 2022

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

1、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数据源连接测试内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
为什么mysql字段要使用NOT NULL
May 13 MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
May 25 MySQL
MySQL 全文检索的使用示例
Jun 07 MySQL
浅谈MySQL 亿级数据分页的优化
Jun 15 MySQL
MySQL 十大常用字符串函数详解
Jun 30 MySQL
MySQL千万级数据表的优化实战记录
Aug 04 MySQL
MySQL令人大跌眼镜的隐式转换
Aug 23 MySQL
MySQL数据库必备之条件查询语句
Oct 15 MySQL
SQL 聚合、分组和排序
Nov 11 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
面试官问我Mysql的存储引擎了解多少
Aug 05 MySQL
MySQL实现用逗号进行拼接、以逗号进行分割
Dec 24 MySQL
解决Mysql多行子查询的使用及空值问题
Jan 22 #MySQL
如何避免mysql启动时错误及sock文件作用分析
Jan 22 #MySQL
教你使用VS Code的MySQL扩展管理数据库的方法
Jan 22 #MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 #MySQL
mysql分组后合并显示一个字段的多条数据方式
Jan 22 #MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 #MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
You might like
常见的PHP五种设计模式小结
2011/03/23 PHP
PHP的变量总结 新手推荐
2011/04/18 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
利用php输出不同的心形图案
2016/04/22 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
Python requests获取网页常用方法解析
2020/02/20 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
应届毕业生就业自荐信
2013/10/26 职场文书
大专生自荐书范文
2014/06/22 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
Django显示可视化图表的实践
2021/05/10 Python
压缩Redis里的字符串大对象操作
2021/06/23 Redis