1. 程式人生 > >JDBC連線Mysql8.0.11版本出現問題

JDBC連線Mysql8.0.11版本出現問題

錯誤日誌:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:928)
	at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1750)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1290)
	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2493)
	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2526)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2311)
	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:347)
	at org.mybatis.generator.internal.db.ConnectionFactory.getConnection(ConnectionFactory.java:68)
	at org.mybatis.generator.config.Context.getConnection(Context.java:526)
	at org.mybatis.generator.config.Context.introspectTables(Context.java:436)
	at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:222)
	at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:133)
	at GeneratorSqlmap.generator(GeneratorSqlmap.java:27)
	at GeneratorSqlmap.main(GeneratorSqlmap.java:33)

解決方案:

在宜立方中,用的是5.1.28版本的Mysql的jar包,應該改成8.0.11版本的jar包。

Eclipse中匯入 mysql--conncetor --java--jars 方法:

在工程項上右擊,點Build Path->Configure Build Path-->Libraries-->Add External JARs(新增本地jars包)-->OK

在parent的pom.xml檔案中修改mysql的版本為

<mysql.version>8.0.11</mysql.version>

在generarorConfig.xml檔案中修改JDBC連線語句

<!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/e3mall-32?useSSL=false&amp;serverTimezone=UTC" userId="root" password="root">
</jdbcConnection>

這裡提一下要注意的地方啊!

因為用的是mysql-8.0.11,所以配置有所不同  

主要就是新版本有新特性,首先,最新官方支援將com.mysql.jdbc.Driver改為com.mysql.cj.jdbc.Driver,此外mysql8.0是不需要建立ssl連線的,你需要顯示關閉,即url中的useSSL=false;最後你需要設定CST,CST可視為美國、澳大利亞、古巴或中國的標準時間。serverTimezone是設定時區的,大家可以查一下相關資料瞭解一下哦!

在xml的配置檔案中 ;要用  &amp;   代替。

修改好之後執行main出現錯誤:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : Unsupported major.minor version 52.0

解決方案:是由於jdk版本和Mysql版本需要對應。我把jdk版本修改為1.8之後,執行正常。


 

相關推薦

JDBC連線Mysql8.0.11版本出現問題

錯誤日誌: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLExcepti

關於mysql8.0.11版本出現數據庫連不上問題解決辦法

<@wb_weibo_list num=20 day=0; weibo>                             <#list weib

Navicat連線mysql8.0.1版本出現1251--Client does not support authentication protocol requested by server的解決

轉載自:https://blog.csdn.net/XDMFC/article/details/80263215好不容易安裝好mysql,但又出現了mysql客戶端版本太低的問題。根據參考的這篇部落格,完美的解決了該問題。1、通過命令列進入解壓的mysql根目錄下。2、登陸資

安裝mysql8.0.11版本,並使用sql lyog進行連線mysql遇到的問題

1、第一個錯誤:1251異常。 (1)安裝完mysql8.0.11之後,使用Navicat遠端連線Mysql報1251錯誤,但是ip,埠,賬號密碼都是正確的。而且在遠端伺服器上,直接使用shell命令,用賬號密碼登陸卻可以登陸。 (2)出現這個原因是mysql8 之前的版

安裝mysql8.0.11版本,並使用mybatis進行連線mysql遇到的問題

之前Centos遠端伺服器使用mysql的版本是5.1.32,今天重新安裝了mysql的最先版本8.0.11,安裝過程出現了一些問題。1、第一個錯誤:1251異常。(1)安裝完mysql8.0.11之後

Navicat連線Mysql8.0.11出現1251錯誤

重灌了電腦,安裝了最新版的MySQL資料庫,結果Navicat連線Mysql報1251錯誤,sqlyog報2058錯誤,但是window命令進入mysql,賬號密碼都是正確的。 在網上查的是,出現這個原因是mysql8 之前的版本中加密規則是mysql_nati

Jdbc連線MySQL8.0出現錯誤

在JDBC使用的時候有時候會出現java.sql.SQLException: The server time zone value ‘???ú±ê×??±??’ is unrecognized or represents……..的錯誤, 出現這個的

Navicat連線Mysql8.0.11出現2059錯誤

昨天為了匯入一個sql, 我解除安裝了mysql,又重灌的,結果命令列直接使用麼問題,但是用navicat連線, 就一直在報2059的錯誤 在網上查的是,出現這個原因是mysql8 之前的版本中加密規則是mysql_native_password,而在my

java連線Mysql8.0.11

java連線Mysql8.0.11與之前版本有些不同。 其中driver為com.mysql.cj.jdbc.Driver url為jdbc:mysql://localhost/student?useSSL=FALSE&serverTimezone=UTC(student為資料庫的名字)

Spring Data Jpa 連線MySQL8.0.11碰到的問題解決方法

1: java.math.BigInteger cannot be cast to java.lang.Long 問題: 一開始寫的驅動為:com.mysql.jdbc.Driver 連線時報 java.math.BigInteger cannot be cas

JDBC連線Mysql8.0.12失敗解決方法

感慨一下:為什麼別人遇不到的error我全部都能遇得到??? 本來昨天好不容易安裝完了Mysql並且解決了遠端連線的問題,然後今天就在連線JDBC上遭受了打擊。 相信看這篇文章的朋友應該大部分都是因為用5.0.X版本的jar包連線失敗的吧? 一.載入JAR包: 在

JDBC連線MySQL8.0+遇到的問題

JDBC連線MySQL8.0+遇到的問題 為了嚐個鮮,安了MySQL最新版,在JDBC連線的時候遇到問題了, 首先是需要使用對應版本的JDBC驅動,推薦到阿里雲maven倉庫下載。 http://maven.aliyun.com/mvn/search (點檔名,可以檢視XML座標)

JDBC連線mysql8.0資料庫

jar包下載地址如下: 程式程式碼如下: package com.cwx.zhao.util; import java.sql.Connection; import java.sql.DriverManager; public class DbUtil {  

eclipse用jdbc連線MySQL8.0

    這是本人第一次寫部落格,也是因為今天遇到這個問題,在網上找了很久才解決,為了不讓後來人浪費時間,於是將我的心得寫在這裡。    因為MySQL8.0以後驅動的位置就改變了,以前是com.mysql.jdbc.Driver現在的位置是com.mysql.cj.jdbc.

IDEA使用C3P0和JDBCMYSQL8.0.11的XML配置方法

由於MYSQL最新版的加密方式有所不同,要換最新版的JDBC  mysql-connector-java-8.0.11.jar  和使用最新版的C3P0 :c3p0-0.9.5.2.jar  還有MYSQL的密碼方式設定成 mysql_native_password   使用

JDBC連線MySQL8.0.x注意事項

1.連線類(會導致Could not create connection to database server異常.) com.mysql.jdbc.Driver 變為(包路徑多了.cj) com.m

記一次踩坑:使用Navicat連線Mysql8.0.11

  MySQL8.0正式版8.0.11已釋出,官方表示MySQL8要比MySQL5.7塊兩倍,同事還帶來了大量的改進和更快的效能!   從MySQL5.7升級到MySQL8.0僅支援通過使用in-place方式進行升級,並且不支援從MySQL8.0降級到MySQ

jdbc連線mysql8.0例項及問題

當我們使用之前的方法通過jdbc連線mysql8.0版本時,會出現如下問題提示: Wed Aug 29 15:38:16 CST 2018 WARN: Establishing SSL connection without server's identity verifi

MySql8.0.11的JAVA JDBC連線

官網上Windows下載選擇作業系統為Platform Independent 注意事項 1、最新官方支援將com.mysql.jdbc.Driver改為com.mysql.cj.jdbc.Driver 2、mysql8.0是不需要建立ssl連線的,你需要顯示關閉,即url中useSSL

SQLyog連線MySQL8.0及以上版本出現2058錯誤解決方案

重新安裝系統後安裝了MySQL 8.0版本 下載sqlyog工具 連線 mysql 時 配置新連線報錯:錯誤號碼 2058,通過分析錯誤原因,猜測是 mysql 密碼加密方法變了。 解決方法:windows 下cmd 登入 mysql -u root -p 登入你的 my