为什么我得到这个错误“通信链路故障发送的最后一个数据包......”连接到MySQL和Java(Ne

2019-06-24 09:00发布

我试图使用MySQL数据库(我的电脑上已安装的虚拟机(Debian的),并且具有IP地址192.168.1.5 ),从Java与使用NetBeans。

我已经配置了连接,如下所示:

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             |
+------------+------------------+

我能做些什么,使这个连接?

Answer 1:

问题是与服务器mysql的配置文件/etc/mysql/my.cnf

行: bind-address应指向您的服务器的IP就像这个例子

bind-address = 192.168.1.5

并不是

bind-address = 127.0.0.1

允许远程访问。



Answer 2:

你可以发表你的整个代码?

当数据库youre设法达到不存在该错误出现。 检查您的网络设置中你的虚拟机软件。 您正在使用什么类型的VM软件(VirtualBox的,VM洁具......)



Answer 3:

这可能是错误的文件夹,或者我有一个不同的版本。 我正在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

我希望我帮助。



Answer 4:

完美的解决方案:

  1. 启动WAMP的NetBeans之前服务器
  2. 然后打开的NetBeans

它为我工作。 当我关闭WAMP的服务器,它显示我此错误:



文章来源: Why I get this error 'Communications link failure The last packet sent…' when connecting to MySQL with Java (Netbeans)?