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