1. 程式人生 > >eclipse連線mysql8.0的一些錯誤總結

eclipse連線mysql8.0的一些錯誤總結

弄這個mysql弄得簡直沒脾氣,總結一下遇到的錯誤吧
首先要把mysql-connector-java-5.1.7-bin-jar加進去,當然別的版本也行吧右鍵專案–BuildPath–configur那個–Libraries–Add Exteral JARS
這裡寫圖片描述
填進來大概是這個,哦,要配置環境變數,這些都弄好了之後我開始寫程式碼連線

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conn {
    Connection con;
    public
Connection getConnection(){ try{ Class.forName("com.mysql.jdbc.Driver"); System.out.println("資料庫載入驅動成功"); }catch(ClassNotFoundException e){ e.printStackTrace(); } try{ con=DriverManager.getConnection("jdbc:mysql:"+"//127.0.0.1:3306/test"
,"root","123456"); System.out.println("資料庫連線成功"); }catch(SQLException e){ e.printStackTrace(); } return con; } /** * @param args */ public static void main(String[] args) { Conn c=new Conn(); c.getConnection(); // TODO Auto-generated method stub
} }

正當我天真的以為完事了呢,結果出現了一個錯誤:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
解決辦法:
mysql8.0是加強密碼的,所以參考這篇文章重灌mysql把用強密碼改成用舊的方式(大概這個意思)參考:https://www.jb51.net/article/139923.htm
然後再次執行程式碼出現了有一個錯誤:Access denied for user ‘root’@’localhost’ (using password: YES)
哇,這個真是弄了好久好久,又去百度查資料,看了好多,也試了很多方法,最後查到了這篇,改密碼吧:
https://blog.csdn.net/jack__love/article/details/79019049(下面的評論也有用,我遇到了問題然後看了下面的評論解決的)
這篇裡面用的是win7 mysql是5.6 而我用的是win10 mysql是8.0,所以第一步就有問題了,我這裡面找不到my.ini檔案。
怎麼辦,繼續找解決辦法唄,寫一下解決辦法 :https://blog.csdn.net/wm3tcw28/article/details/78942693
這篇部落格,但是還有一個問題就是win10不能在C盤裡面改那個檔案,怎麼辦?my.ini 檔案複製到別的盤例如D盤,然後改,之後用管理員許可權把C盤裡面的my.ini檔案刪了,把改好的複製過去。
按照那篇文章改過之後密碼就變成123456了這個要記得在程式碼裡面改。
其實這時候已經過去好久了,很難受,所以後來寫程式碼的時候有字母寫錯了,這裡要說一下,一定要認真,字母寫錯了又找了好久錯誤,真是不值!!

這個錯誤解決之後,出現了一下一個錯誤:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database ‘test’
字面意思就是說不知道資料庫“text”,然後在cmd裡面啟動mysql然後進入資料庫後建立一個“test”

create database test;

之後出現了這個錯誤:
Unknown initial character set index ‘255’ received from server. Initial clie。。。。
後邊沒記下來,這個的解決方法就是在jdbc:mysql://127.0.0.1:3306/test後面加上 ?useUnicode=true&characterEncoding=utf8
也就是最後的連線程式碼是這樣的

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conn {
    Connection con;
    public Connection getConnection(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("資料庫載入驅動成功");
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        try{
            con=DriverManager.getConnection("jdbc:mysql:"+"//127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8","root","123456");
            System.out.println("資料庫連線成功");
        }catch(SQLException e){
            e.printStackTrace();
        }
        return con;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        Conn c=new Conn();
        c.getConnection();
        // TODO Auto-generated method stub

    }

}

這裡寫圖片描述
終於成功了,雖然過程真的很難受,但是當看到連線成功的時候真的是特別開心,很有成就感(畢竟是菜鳥,這樣就很有成就感了 哈哈哈),總結一下,就是遇到問題百度,谷歌查資料唄,但是應該很少有和你一模一樣的,所以還要結合自己的問題,分析一下,最後解決問題。

相關推薦

eclipse連線mysql8.0一些錯誤總結

弄這個mysql弄得簡直沒脾氣,總結一下遇到的錯誤吧 首先要把mysql-connector-java-5.1.7-bin-jar加進去,當然別的版本也行吧右鍵專案–BuildPath–configur那個–Libraries–Add Exteral JARS

Jdbc連線MySQL8.0出現錯誤

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

Navicat連線Mysql8.0.11出現1251錯誤

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

對於navicat連線MySQL8.0.出現的1251錯誤解決方案

最新版本的MySQL更改了密碼協議。所以把密碼改一下就好了。 今天下了個 MySQL8.0,發現Navicat連線不上,總是報錯1251; 原因是MySQL8.0版本的加密方式和MySQL5.0的不一樣,連線會報錯。 試了很多種方法,終於找到一種可以實現的:   更改

Navicat連線MySQL8.0出現1251錯誤

mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password,所以修改加密規則即可。 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PAS

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

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

navicat連線MySQL8.0出現的常見錯誤

一、navicat連線MySQL8.0出現2059錯誤     在navicat連結mysql8以後的版本時,會出現2059的錯誤,這個錯誤出現的原因是在mysql8之前的版本中加密規則為mysql_native_password,而在mysql8以後的加密規則為cachin

eclipse用jdbc連線MySQL8.0

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

Navicat連線Mysql8.0.11出現2059錯誤

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

java連線MySQL8.0報錯 Unknown system variable 'query_cache_size'

  mysql版本8.0.11 java連線mysql 報錯 java.sql.SQLException: Unknown system variable 'query_cache_size' at com.mysql.cj.jdbc.exceptions.SQLError.c

java連線Mysql8.0.11

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

CentOS7.5下安裝Mycat連線MySQL8.0

MyCat詳細介紹,請參考https://www.biaodianfu.com/mycat.html 9066管理埠,請參考https://www.cnblogs.com/parryyang/p/5606071.html 1.建立mycat使用者 useradd mycat passwd myca

MYSQL8.0一些小問題

Mysql資料庫連結jar包要和Msql版本對應 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>

Java Maven連線Mysql8.0時問題解決

MySQLNonTransientConnectionException: Could not create connection to database server. 不能連線到MySQL: 1.檢視pom.mxl中MySQL驅動版本;如果版本不是8.0,新增依賴   &n

Navicat連線MySql8+出現2059錯誤解決辦法

今天使用Navicat連線mysql的時候報了2059的錯誤,為了解決這個看似不難的問題,我也是試了不少方法,在這裡給大家分享下我的經驗。 首先出現2059這個錯誤的原因是因為在mysql8之前的版本中加密規則為mysql_native_password。但是在mysql8以後的加密規則

window下eclipse執行叢集mr時錯誤總結

    1.叢集提交修改項       a.確保JobAPP提交至叢集       解決方案:修改mapred-site.xml            

IDEA中使用properties連線mysql8.0.13

IDEA中使用properties連線mysql8.0.13 1.IDEA下匯入mysql-connector-java-8.0.13.jar,並新增到Modules中 2.在專案下新建一個目錄(Directory),一般properties資料夾命名應為resoures

java程式連線mysql8.0.12資料庫報連線異常

  最近做SSM框架整合練習,資料庫使用最新的 mysql8.0.12版本,但是部署好伺服器後,請求相應的資源時報org.springframework.transaction.CannotCreateTransactionException異常,查了很多資料,終於找到原因,現做一個總結。   以往版本的my

Navicat連線MySQL8.0親測有效

今天下了個 MySQL8.0,發現Navicat連線不上,總是報錯1251; 原因是MySQL8.0版本的加密方式和MySQL5.0的不一樣,連線會報錯。 試了很多種方法,終於找到一種可以實現的:   更改加密方式   1.先通過命令列進入mysql的root賬戶: PS C:\

IDEA下用連線MySQL8.0

需要注意一下兩點,與以前的版本不一樣: private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver"; //資料庫連線地址 private static final String URL