如何使用JDBC连接XAMPP MySQL本地数据库?
我有用Java编写的这个俄罗斯方块游戏,它使用DB记录高分。它的工作好,只要我使用远程MySQL数据库,但现在我想使用MySQL的XAMPP来建立本地主机数据库,并不断去像“的SQLException:通信链路故障”的命令:如何使用JDBC连接XAMPP MySQL本地数据库?
con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/score", user, psw);
我猜测它是错误的URL或数据库配置,但我真的不知道该检查什么。有任何想法吗?
编辑:我的朋友已经解决了我的问题,用“127.0.0.1”替换URL中的“localhost”(这很令人尴尬,因为你可以想象:P)。
所以问题是:为什么XAMPP无法将“localhost”翻译成IP地址以及如何解决?
为什么XAMPP无法翻译“localhost”的到IP地址,以及如何解决它?
这不是一个XAMPP问题,也不是一个编程问题。这更多的是DNS问题。
要开始,你有一个%SystemRoot%/system32/drivers/etc/hosts
文件使用以下行作为第一行? (因此,所有的意见后,但在此之前的任何其他主机声明)
127.0.0.1 localhost
更新:按照该意见,我已经Googled了一下,它看起来像MySQL JDBC驱动程序不吃饭IPv6地址在所有。换句话说,您需要将::1
更改为127.0.0.1
。但我也发现了this topic,其中提到,您可以使用以下JVM参数来解决这个问题:
java -Djava.net.preferIPv4Stack=true
“:: 1 localhost”呢?这应该是一样的,不是吗? – 2010-02-05 00:13:40
这很有道理,谢谢你的研究;) – 2010-02-08 08:52:54
在MySql中,您必须明确允许您的用户从本地主机访问。下面是一个例子(从here拍摄):
mysql> grant usage on *.* to [email protected] identified by 'amarokpasswd';
mysql> grant all privileges on amarokdb.* to [email protected] ;
我使用root,但我也尝试创建用户并授予他访问权限和所有权限,只是为了确定...不工作:/ – 2010-01-31 01:01:37
我尝试并获得成功的连接。首先在phpmyadmin创建一个数据库 - 例如。 “MYDB” ,然后在代码把connection.url该值
'jdbc:mysql://localhost:3306/mydb'
如果不先创建一个数据库,它不会连接
你可以浏览到MySQL数据库与查询浏览器? 我记得有一个Java应用程序遇到类似的问题,它拒绝识别连接字符串中的命名。 – 2010-02-03 20:57:45
不要忘了这个链接,这重要的一步 - http://ferdidolot.wordpress.com/2009/06/14/java-mysql-jdbc-tutorial-using-netbeans-part-1/ – 2012-11-23 09:29:35
本帖](HTTP: //forums.netbeans.org/ntopic4896.html)宣称已经修复它。一探究竟。 – duffymo 2010-01-30 18:58:09