weblogic服務(wù)建立數(shù)據(jù)源連接測試更新mysql驅(qū)動包的問題及解決方法
WebLogic是美國Oracle公司出品的一個application server,確切的說是一個基于JAVAEE架構(gòu)的中間件,WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)、集成、部署和管理之中。下面介紹下weblogic服務(wù)建立數(shù)據(jù)源連接測試更新mysql驅(qū)動包的問題及解決方法。
1、mysql服務(wù)搭建
如果有需要的請移步連接:Docker簡單部署mysql
2、weblogic控制臺建立數(shù)據(jù)源并測試
數(shù)據(jù)庫類型:MySQL;其他保持默認(rèn)即可

其他步驟保持默認(rèn)即可,一直下一步到配置連接

進(jìn)行配置測試環(huán)節(jié)

問題處理1
測試不通過,錯誤如下

錯誤 連接測試失敗。
錯誤 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'.
原因:
不同版本的身份驗證機(jī)制不同
5.X版本:default_authentication_plugin=mysql_native_password
8.x版本:default_authentication_plugin=caching_sha2_password
解決:
登陸mysql控制臺執(zhí)行一下命令
查看權(quán)限以及身份驗證機(jī)制命令:
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; # 修改加密規(guī)則 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
上面執(zhí)行操作之后,重新測試連接

java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1058)
類轉(zhuǎn)換異常,查看mysql日志信息docker logs mysql

mbind: Operation not permitted
原因:

在 ODI 12.2.1.4 中添加了 MySQL Database Server 8 作為 Source/Target 的認(rèn)證。較舊的 ODI 12c 版本未經(jīng)認(rèn)證。
解決:
升級到通過 MySQL 8 認(rèn)證的 Oracle Data Integrator 版本 12.2.1.4 或更高版本。
步驟1:(猜測這一步可有可無,下來自己測試,我是操作了的)
1.拷貝mysql8的驅(qū)動包到weblogic目錄下
/home/weblogic/Oracle/Middleware/wlserver/server/lib/mysql-connector-java-8.0.22.jar
2.修改wlserver/common/bin/commEnv.sh文件的weblogic_classpath=<驅(qū)動包路徑>

export weblogic_classpath="/home/weblogic/Oracle/Middleware/wlserver/server/lib/mysql-connector-java-8.0.22.jar"
步驟2:(感覺是最關(guān)鍵的)
- 拷貝驅(qū)動包到域的lib目錄下,如:
/home/weblogic/Oracle/Middleware/user_projects/domains/basicWLSDomain/lib - 修改驅(qū)動程序類型為
com.mysql.cj.jdbc.Driver - 連接測試,ok

到此完美收官!
到此這篇關(guān)于weblogic服務(wù)建立數(shù)據(jù)源連接測試更新mysql驅(qū)動包的文章就介紹到這了,更多相關(guān)weblogic數(shù)據(jù)源連接測試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 5.5 range分區(qū)增加刪除處理的方法示例
這篇文章主要給大家介紹了關(guān)于MySQL 5.5 range分區(qū)增加刪除處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06
5個常用的MySQL數(shù)據(jù)庫管理工具詳細(xì)介紹
本篇文章是對5個常用的MySQL數(shù)據(jù)庫管理工具進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
MySQL中distinct和count(*)的使用方法比較
這篇文章主要針對MySQL中distinct和count(*)的使用方法比較,對兩者之間的使用方法、效率進(jìn)行了詳細(xì)分析,感興趣的小伙伴們可以參考一下2015-11-11
MySQL主從配置及haproxy和keepalived搭建過程解析
這篇文章主要介紹了MySQL主從配置及haproxy和keepalived搭建,本次運行環(huán)境是在docker中,也會介紹一些docker的知識,需要的朋友可以參考下2022-05-05
MySQL8.0創(chuàng)建用戶和權(quán)限控制示例詳解
這篇文章主要為大家介紹了MySQL8.0創(chuàng)建用戶和權(quán)限控制實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程詳解
天天和數(shù)據(jù)庫打交道,一天能寫上幾十條 SQL 語句,但你知道系統(tǒng)是如何和數(shù)據(jù)庫交互的嗎?下面這篇文章主要給大家介紹了關(guān)于MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程的相關(guān)資料,需要的朋友可以參考下2023-02-02
MySQL實現(xiàn)樹狀所有子節(jié)點查詢的方法
這篇文章主要介紹了MySQL實現(xiàn)樹狀所有子節(jié)點查詢的方法,涉及mysql節(jié)點查詢、存儲過程調(diào)用等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06

