JDBC無法連接mysql 一系列坑的處理


操作系統:Mac OS

以下執行都在terminal進行:

mysql使用密碼登錄:mysql -u root -p

jdbc一直無法連接mysql,試了很多辦法,都是讓配置mysql的配置文件: /etc/my.cnf

大部分的說法是修改bind-address,修改成127.0.01或者0.0.0.0 ,但是我這邊修改了也還是沒用。

最后看到一個說法說先終端確認下接口參數,一確認,果然不是默認接口:

 

 

很多人回復這種情況需要把skip-networking comment out,也就是OFF狀態。

 

 

 

 我跑去/ect/my.cnf看了。這一項就是comment out狀態的,為什么終端查看參數還是ON呢?百思不得其解,到處在網上查找答案,終於找到了這條回答:

 

 

 把skip-grant-tables comment out掉真的成功關閉了 skip_networking. 但是我的jdbc還是無法連接mysql,出現了新的error,呵呵。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

原來是我把navicate 的connection名當成了數據庫名。在終端 show databases;才發現根本沒有這個名,最后終於解決。撒花。。。

 

 

 記一次打完新冠疫苗發着燒改系統bug的經歷。。。足足花了我一晚上加一個上午。。。

最后連接好了往表里添加數據的時候,出現如下異常:

Could not retrieve transation read-only status server ”

嗯,我心靜如水,查了下原因,原來是使用的jar包是5.0版本的,我的mysql是8.0版本的,重新下載了8.0版本的jar包后重新執行就好了。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM