电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

分析MySQL拋出異常的幾種常見解決方式

瀏覽:118日期:2023-10-02 18:12:34
目錄前言一、代碼配置的數據庫名稱或者密碼與本地數據庫不一致1.1、錯誤產生描述1.2、解決方式二、導入的非本地項目文件與本地的數據庫版本不匹配2.1、錯誤產生描述2.2、解決方式三、MySQL 高版本配置加載驅動類包出錯問題(以 MySQL 8.0 為例)3.1、錯誤產生描述3.2、解決方式3.3、MySQL 不同版本的驅動類如何查看四、數據庫連接字符串高版本配置出錯(時區問題)4.1、錯誤產生描述4.2、解決方式五、為什么數據庫中寫入數據相差 8 個小時?5.1、錯誤產生描述5.2、解決方式六、SSL 連接問題6.1、錯誤產生描述總結前言

報錯如下:

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!  

對于此類錯誤,直接看釋義,一句話:JDBC 驅動拋出異常,連不上數據庫。

一、代碼配置的數據庫名稱或者密碼與本地數據庫不一致1.1、錯誤產生描述

第一種,也是最為常見的一種錯誤:代碼配置的數據庫名稱或者密碼與本地數據庫不一致,拋出異常。

分析MySQL拋出異常的幾種常見解決方式

如上圖所示,在配置文件中,前面的 name 屬性是默認的,無需改變,對于用戶名,一般為 root,可以通過數據庫管理軟件直接查看本地配置的情況,數據庫的密碼就是你自己設置的了。

1.2、解決方式

修改配置文件對應的名稱和密碼。

分析MySQL拋出異常的幾種常見解決方式

二、導入的非本地項目文件與本地的數據庫版本不匹配2.1、錯誤產生描述

第二種常見的錯誤:使用 IDE(以 Eclipse 為例)導入的非本地項目文件與本地的數據庫版本不匹配。

舉個例子:你導入你 eclipse 中的項目里面依賴的 jar 包是 8.0 的版本,而你本地安裝的是 5.0 的 MySQL 數據庫,自然報錯。

2.2、解決方式

在你導入的項目中找到 Referenced Libraries,右擊鼠標→Build Path→Configure Build Path…Remove 掉項目里面依賴的 8.0 的 MySQL 驅動,Add 進你本地安裝的 5.0 的版本即可。

分析MySQL拋出異常的幾種常見解決方式

分析MySQL拋出異常的幾種常見解決方式

三、MySQL 高版本配置加載驅動類包出錯問題(以 MySQL 8.0 為例)

這個錯誤是由于 MySQL 版本更新之后,驅動包發生改變導致的,新的驅動程序類是 com.mysql.cj.jdbc.Driver。

3.1、錯誤產生描述

報錯如下:

Loading class com.mysql.jdbc.Driver’. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

錯誤說明:不建議使用驅動類’com.mysql.jdbc.Driver’。新的驅動程序類是’com.mysql.cj.jdbc.Driver’,驅動程序是通過 SPI 自動注冊的,通常是不需要手動加載驅動類。

3.2、解決方式

將 MySQL 數據庫 5.0 使用的驅動類com.mysql.jdbc.Driver改為com.mysql.cj.jdbc.Driver,驅動程序是通過 SPI 自動注冊的,通常是不需要手動加載驅動類。修改之后的配置文件如下圖所示:

分析MySQL拋出異常的幾種常見解決方式

<!-- 加載數據庫驅動 --><property name='driverClass' value='com.mysql.cj.jdbc.Driver'></property>3.3、MySQL 不同版本的驅動類如何查看

對于 MySQL 的驅動類,我們對每個版本進行查看時,點開驅動的 jar 包可以直接查看驅動是位于哪里,例如 8.0 版本的就是 com.mysql.cj.jdbc.Driver,如下圖所示:

分析MySQL拋出異常的幾種常見解決方式

分析MySQL拋出異常的幾種常見解決方式

四、數據庫連接字符串高版本配置出錯(時區問題)

注意:MySQL 6.0 版本之后都需要配置時區。

4.1、錯誤產生描述

報錯如下:

2020-01-14 00:45:30,876 ERROR [DruidDataSource.java:616] : init datasource error java.sql.SQLException: The server time zone value ’???ú±ê×??±??’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

4.2、解決方式

我們可以利用時區支持,通過配置服務器或 JDBC 驅動程序(通過 serverTimezone 配置屬性)以使用更具體的時區值。

配置文件如下:

<!-- 數據庫連接字符串 --><property name='jdbcUrl' value='jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&amp;characterEncoding=utf-8'></property>五、為什么數據庫中寫入數據相差 8 個小時?5.1、錯誤產生描述

Java 數據庫連接使用 UTC 時區(世界標準時間),即 serverTimezone=UTC,而北京時間比 UTC 時間早8小時,即 UTC+08:00,如果我們直接使用 serverTimezone=UTC,寫入數據庫中的數據會提前 8 個小時。如果按照如下配置就會在數據庫中寫入數據相差 8 個小時:

<!-- 數據庫連接字符串 --><property name='jdbcUrl' value='jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&amp;characterEncoding=utf-8'></property>5.2、解決方式

我們可以修改設置 serverTimezone 為北京時間 GMT%2B8、上海時間 Asia/Shanghai 或者香港時間 Hongkong。

配置文件如下即可:

<!-- 數據庫連接字符串 --><property name='jdbcUrl' value='jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&amp;characterEncoding=utf-8'></property>

另外在 MySQL 中的 my.ini 配置文件也可以修改,此文章僅用于解決相應問題,故不多做詳細描述。

六、SSL 連接問題6.1、錯誤產生描述

報錯如下:

Sun Oct 14 00:45:30 CST 2018 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ’false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

錯誤說明:不建議在沒有服務器身份驗證的情況下建立 SSL 連接。根據 MySQL 5.5.45+,5.6.26+ 和 5.7.6+ 的 SSL 連接要求,如果未設置連接方式,則默認情況下必須建立 SSL 連接。對于不使用 SSL 的現有應用程序,服務器的驗證證書屬性設置為“false”。您需要通過設置useSSL = false來顯式禁用 SSL,或者設置useSSL = true并提供服務器的驗證證書。

6.2、解決方式

數據庫 URL 連接地址添加useSSL = false,適用于測試。 數據庫 URL 連接地址添加useSSL = true,并且提供服務器的驗證證書。

配置文件如下即可:

<!-- 數據庫連接字符串 --><property name='jdbcUrl' value='jdbc:mysql://localhost:3306/demo?useSSL=false&amp;serverTimezone=GMT%2B8&amp;characterEncoding=utf-8'></property>總結

通過對于 MySQL 拋出異常的幾種常見解決方式的總結,加深對于 MySQL 底層的了解。只要是干開發,錯誤是不斷地,要善于總結。同時,要充分掌握開發的底層原理,不同的版本迭代作為開發者要及時了解,不然永遠跟不上技術的發展。

以上就是分析MySQL拋出異常的幾種常見解決方式的詳細內容,更多關于MySQL異常的解決方式的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 安规电容|薄膜电容|陶瓷电容|智旭JEC安规电容厂家 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 泡沫消防车_水罐消防车_湖北江南专用特种汽车有限公司 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 工业PH计|工业ph酸度计|在线PH计价格-合肥卓尔仪器仪表有限公司 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 工业洗衣机_工业洗涤设备_上海力净工业洗衣机厂家-洗涤设备首页 bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 河南中专学校|职高|技校招生-河南中职中专网 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 四川实木门_成都实木门 - 蓬溪聚成门业有限公司 | 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 电渗析,废酸回收,双极膜-山东天维膜技术有限公司 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 |