java - 如何使用 JDBC 连接 XAMPP MySQL 本地数据库?

标签 java mysql jdbc xampp

我有这个用 Java 写的俄罗斯方 block 游戏,它使用 DB 来记录高分。只要我使用远程 MySQL 数据库,它就可以正常工作,但现在我正在尝试使用 XAMPP MySQL 设置本地主机数据库,并且它在命令中一直像“SQLException: Communications link failure”:

con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/score", user, psw);

我猜是 URL 或 DB 配置错误,但我真的不知道要检查什么。有什么想法吗?

编辑:我的 friend 通过将 URL 中的“localhost”替换为“127.0.0.1”解决了我的问题(这非常令人尴尬,您可以想象得到 :P )。

所以问题是:为什么 XAMPP 无法将“localhost”转换为 IP 地址以及如何修复它?

最佳答案

Why is XAMPP not able to translate "localhost" into IP address and how to fix it?

这不是 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 

关于java - 如何使用 JDBC 连接 XAMPP MySQL 本地数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2168969/

相关文章:

Java 启动错误选择不包含主类型

mysql - 删除 mysql_embedded、mysqltest_embedded、mysqld-debug、mysql_client_test_embedded 的影响

Hibernate H2 指定删除表顺序

intellij-idea - 从 Intellij 的数据库导航器插件连接到 GCloud Spanner 模拟器实例

mysql - Mysql - 引用另一个表行中的数据

java - 在参数化语句中使用 SQL 函数

java - OpenCV 在 Mac 上无法正常工作

java - 贾克斯布,xjc : generate ONE single Java file out of Xsd

java - 子引用图像的其他方式?

php - 使用 PHP 将 mySQL 排序为有组织的列表