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 数据类型选择原则
May 27 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
深入解析MySQL索引数据结构
Oct 16 MySQL
Mysql排序的特性详情
Nov 01 MySQL
MySQL中order by的使用详情
Nov 17 MySQL
mysql下的max_allowed_packet参数设置详解
Feb 12 MySQL
MySQL数据库中的锁、解锁以及删除事务
May 06 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
MySQL慢查询中的commit慢和binlog中慢事务的区别
Jun 16 MySQL
MySQL导致索引失效的几种情况
Jun 25 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
Jul 15 MySQL
mysql sock文件存储了什么信息
Jul 15 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一些公用函数的集合
2008/03/27 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
小程序实现抽奖动画
2020/04/16 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python实现购物车功能的方法分析
2017/11/10 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python做接口测试的必要性
2019/11/20 Python
python实现用户名密码校验
2020/03/18 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
新学期班主任寄语
2014/01/18 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
信访工作个人总结
2015/03/03 职场文书
经营场所使用证明
2015/06/19 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
python爬取豆瓣电影TOP250数据
2021/05/23 Python
Python语言规范之Pylint的详细用法
2021/06/24 Python
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis