远程连接mysql遇到的问题
博主原创文章,转载请说明出处,但是不说我也管不了你🏳️
前言
今天心血来潮,想着自己那没前途的工作就感到十分绝望,可是看如今java大势已去,加上自己0经验,早就是属于凉透了那一批“计算机科班”,不过自己还是想挣扎一下,又捡起这该死的java,且狠狠地花了199¥买了个云服务器,准备完善之前学的API项目。
显然,这边文章能出来,就是说明我遇到了问题。我本来想远程连接服务器那边的mysql,但是死活连不上,然后呢就是排查问题,也花了我好几个小时才搞定,这能忍?必须把这个问题给记录下来!
本文主要涉及我在远程连接mysql上遇到的两个问题以及对应的解决办法。
正文
1.连接超时
JAVA
1 |
|
遇到这个,可能是网络被挡了:
①检查自己网络是否通畅
②检查自己远程连接的ip或者域名是否正确
③以上均无误,则最大可能是自己服务器的防火墙开了,把端口给挡了,需要打开端口访问
2.连接被拒绝
JAVA
1 |
|
这种就是远程的mysql数据库拒绝了你的连接请求,那就可能是:
①服务器mysql没有授予其他ip访问的权限,此时登录服务器数据库,手动授予:
MYSQL
1 |
|
如过对应的用户的host里面没有包括自己的ip(一般默认是locahost,那肯定不行)那需要改一下,一般改成%
,意为允许所有ip访问【改之后记得重启mysql】:
MYSQL
1 |
|
②如果是linux服务器,那还要设置一个配置文件:
一般Mysql默认安装的话那个文件的路径为/etc/mysql/mysql.conf.d/mysqld.cnf
,然后进mysqld.cnf
把bind-address=127.0.0.1
注释掉,或者改成0.0.0.0
就OK,注意得用root权限才改得了,然后重启mysql就OK。
记得改完配置后需要重启mysql服务器,或者你有其他方法使mysql自己更新配置也行