为什么我在使用Java(Netbeans)连接到MySQL时出现此错误'通信链接失败最后发送的数据包...'?

时间:2012-05-12 20:14:38

标签: java mysql netbeans netbeans-7

我正在尝试使用MySQL数据库(安装在我的电脑上的虚拟机(Debian)上,并使用NetBeans从Java获得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             |
+------------+------------------+

如何才能进行此连接?

3 个答案:

答案 0 :(得分:5)

问题出在服务器/etc/mysql/my.cnf

上的mysql配置文件中

行:bind-address应该指向服务器的IP,如本示例所示

bind-address = 192.168.1.5

而不是

bind-address = 127.0.0.1

允许远程访问。

答案 1 :(得分:0)

您可以发布整个代码吗?

当您尝试访问的数据库不存在时,会出现该错误。检查VM软件中的网络设置。您使用什么类型的VM软件(VirtualBox,VM ware ......)

答案 2 :(得分:0)

这是错误的文件夹,或者我有不同的版本。我正在运行Lubuntu,文件不是my.cnf(因为该文件没有绑定地址)。 bind-address位于/etc/mysql/mysql.conf.d/的文件中,其名称为:mysqld.cnf。您无法通过文件管理器对其进行修改,因此您必须完成以下命令行:

sudo su
***enter password***
cd /etc/mysql/mysql.conf.d
nano mysqld.cnf

然后转到bind-address 127.0.0.1并将其更改为您可以在

中找到的IPv4
ifconfig

我希望我能帮忙。