远程连接服务器上,在自己的帐号下建立java连接mysql的程序,但是一直连接不上
我是通过远程连接在实验室机房的一台机器(linux操作系统)上,然后在该机器上建立JAVA程序,其中涉及到连接mysql数据库的操作,但是在获取连接时一直提示“Communications link failure“,涉及的代码为:connect=DriverManager.getConnection("jdbc:mysql://localhost:3306/pyq_test","root","120116");

在linux终端查找mysql的所有用户/密码及主机的结果为:
java程序报错

12个回答

需要服务器端配置

/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart;

查查看,MySQL服务Service启动了吗?

MYsql 权限 是否 为% 任何一台电脑都可以连?

用mysql服务登陆mysql,查看权限:
show grants for root;
给root用户
GRANT ALL ON pyq_test.* TO root@% IDENTIFIED BY 'root';
flush privileges;

url的ip地址有问题啊,你应该填你实验室机器的ip地址啊。

换成127.0.0.1试试,以前好像遇见过,不是大问题

最近我也碰到了相似的问题,问题可能很多种,IP问题,数据源配置问题等等。需要一个一个排查吧
我遇到的我都给出解答了,看看能不能给你些思路
http://blog.csdn.net/zhoubin1992/article/details/45851161
http://blog.csdn.net/zhoubin1992/article/details/45951405
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mstx","root","XXX");

}

url的错误啊,换为你实验室的地址啊

你的url有问题,应该配成服务器的IP地址,i这样是访问你本机

jdbc:mysql://localhost:3306

localhost 是特指本机ip,相当于 127.0.0.1; 程序会直接请求本机的3306端口。
你应该将 localhost替换成服务器的ip地址。

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问