问题:自己在学习mybatis时想连接阿里云远程服务器上的mysql,出现Communications link failure
我的情况:用Navicat能连接,但是idea死活连不上
排错过程:(大家没有这个问题就下一个)
1.驱动value有问题?(没有下一个)
<!--mysql8以上用这个-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--mysql8以下用这个-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
2.版本和时区问题?(没有下一个)
<!--有些版本和时区问题,在后面加useSSL=false&serverTimezone=UTC-->
<property name="url" value="jdbc:mysql://远程服务器地址(ip):3306/
数据库名称?useSSL=false&serverTimezone=UTC"/>
3.注意一下<property name="password" value="密码"/>这里的密码是mysql的密码,不是SSH远程连接服务器的密码哈!
4.端口
(1)阿里云打开3306端口(没问题就下一个)
(2)mysql 配置文件的bind-address错误,默认127.0.0.1,改成0.0.0.0(或者注释掉)
注意: 先进入mysql的目录!然后看一下是那个配置文件!!(网上的都会说my.cnf里面,但是我的bind-adress是在mysql.conf.d文件下的mysqld.cnf里面!!我就死在这上面!!大家看一下自己的mysql目录,可以用netstat -ntpl 看一下自己的mysql3306端口是不是0.0.0.0)
进入mysqld.cnf
(这么做有安全问题,我只是学习用,所以没事,需要的可以上网搜一下防火墙操作,这里我只说一下怎么连接成功,可以看看这篇文章)ubuntu开启防火墙查看开放端口_ubuntu查看防火墙开放端口-CSDN博客
5.远程服务器mysql的root权限没有打开(update操作一下)(没有就下一个)
操作完后记得重启mysql
7.其他情况(我就不清楚了)