为啥我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制]
Posted
技术标签:
【中文标题】为啥我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制]【英文标题】:Why I get this error 'Communications link failure The last packet sent...' when connecting to MySQL with Java (Netbeans)? [duplicate]为什么我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制] 【发布时间】:2012-05-20 23:27:14 【问题描述】:我正在尝试通过 NetBeans 使用来自 Java 的 mysql 数据库(安装在我的电脑上的虚拟机 (Debian) 上,并且 IP 地址为 192.168.1.5
)。
我已将连接配置如下:
Driver Name MySQL(Connector/J Driver)
Host 192.168.1.5
Database test
Username root
Password *
JDBC URL jdbc:mysql://192.168.1.5:3306/test
然后我收到以下错误:
cannot establish a connection to jdbc:mysql://192.168.1.5:3306/test using
com.mysql.jdbc.Driver (Communications link failure The last packet sent successfully
to the server was 0 milliseconds ago. The driver has not received any packets
from the server.)
我的mysql.user
表看起来像这样(我知道% root
不是很安全,但这只是为了暂时简化事情):
+------------+------------------+
| host | user |
+------------+------------------+
| % | root |
| 127.0.0.1 | root |
| ::1 | root |
| debVirtual | |
| localhost | |
| localhost | debian-sys-maint |
| localhost | phpmyadmin |
| localhost | root |
+------------+------------------+
我可以做些什么来允许这个连接?
【问题讨论】:
【参考方案1】:你能发布你的整个代码吗?
当您尝试访问的数据库不存在时,就会出现该错误。检查 VM 软件中的网络设置。您使用的是什么类型的 VM 软件(VirtualBox、VM ware...)
【讨论】:
【参考方案2】:问题出在服务器上的mysql配置文件/etc/mysql/my.cnf
该行:bind-address
应该指向您服务器的 IP,如本例所示
bind-address = 192.168.1.5
而不是
bind-address = 127.0.0.1
允许远程访问。
【讨论】:
我做了所有这些步骤,但我仍然有问题,最后,我发现它是防火墙!【参考方案3】:完美解决方案:
-
在 netbeans 之前启动 wamp 服务器
然后打开netbeans
它对我有用。当我关闭 wamp 服务器时,它显示了这个错误:
【讨论】:
【参考方案4】:这是错误的文件夹,或者我有不同的版本。我正在运行 Lubuntu,但文件不是 my.cnf(因为该文件没有绑定地址)。绑定地址位于/etc/mysql/mysql.conf.d/
中的文件中,其名称为:mysqld.cnf
。您无法通过文件管理器对其进行修改,因此您必须通过以下命令行:
sudo su
***enter password***
cd /etc/mysql/mysql.conf.d
nano mysqld.cnf
然后转到绑定地址 127.0.0.1 并将其更改为您可以在其中找到的 IPv4
ifconfig
希望我能帮上忙。
【讨论】:
以上是关于为啥我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mac OSX 上将 Access 数据库与 Netbeans 连接?
为啥 Netbeans 无法识别我的 Grails 应用程序中的 Maven 依赖项导入?