操作系统: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的经历。。。足足花了我一晚上加一个上午。。。