背景:笔者买了阿里云2C2G的服务器,这个系统自带jdk、mysql、nginx、tomcat。
然后想要通过本地IDE的java代码链接到该远程服务器。
这个路程比较坎坷…
首先阿里云服务器带的mysql是禁止远程连接的,端口都是未开放的。
第一步:打开TCP/UDP对应的端口(我这边是把所有端口都打开了)
到这里后,本地IDE使用root账号连接mysql也不行,也是一直连不上(哪位大佬如果知道原因的话,辛苦告知我下,感谢)。
于是换了另一种方法,创建一个新的用户,给该用户赋予root的权限,并且允许任意ip使用该用户连接远程数据库。
使用root账号登录数据库后 执行下面的sql命令
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
不确定是阿里云还是mysql的限制(大概率是mysql的限制),多次连接数据库失败后,mysql会拒绝该ip链接
登上mysql后执行flush hosts;命令 可以解决该问题。