JAVA桌面程序远程连接数据库失败

在本机运行程序可以连接数据库,数据库用的是mySQL。把程序放到没有安装mySQL的机子上就不行了。经过我的测试发现ip地址没有问题,因为我在本机运行程序的时候把ip设置成此网络的ip是可以连接的,用localhost也是可以连接的。在其他机子上我用的也是本机ip,却不能连接。 很多人说mySQL默认是不能远程的。于是我在本机设置防火墙上把3306端口开放,然后设置mySQL的用户权限,结果在其它机子上还是不能连接数据库,详情请看图。图片图片图片

telnet 你的IP 3306
如果能连接上,说明是权限的问题,
连接不上是网络问题,如防火墙之类的,
配置文件如果是官网下载的保持默认配置是可以远程连接的。

防火墙或者路由器的设置,仔细检查下,还有ip port

配置mysql的配置文件my.conf中,把绑定的地址改成IP等,缺省mysql侦听在localhost,只能本机访问

百度 mysql bind-address

首先链接本机的mysql(用ssh登录终端,输入如下命令):
mysql -uroot -p
输入密码登陆进去后,输入如下的语句,执行。
grant all privileges on . to ‘user‘@’%‘ identified by ‘password‘ with grant option;
其中,user是用户名,mysql默认的是root ,password是密码自己设置 。%表示任意主机。这样就允许远程任意一台主机访问了