我正在尝试将 PHPStorm 连接到我网站服务器上的数据库,该数据库托管在 BlueHost 的 Linux 机器上。
为了做到这一点,我点击了屏幕右侧的数据源选项卡,+ 图标,然后DB 数据源弹出一个数据源属性对话框。我为源输入了一个名称,将Data Source Level设置为Project。然后下载 MySQL Connector/J-5.1.18 JDBC Driver Files。这用大约 6-7 个类填充了 JDBC 驱动程序类,包括com.mysql.jdbc.Driver。
我相信我遇到的问题是在数据库 URL 上。它要求我不熟悉的 jdbc:// url。我使用了示例格式 jdbc:mysql://[host][,failoverhost...][:port]/[database] 以及我的用户名和密码。
对于主机,我尝试了localhost和 mysql 服务器框的名称###.bluehost.com。端口 3306,数据库的名称非常简单。
尝试测试连接时收到此错误...
Connection to Data Source failed
java.sql.SQLException: 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.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2332)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
in RemoteDriverImpl.connect(RemoteDriverImpl.java:27)
in LocalDataSource.getConnection(LocalDataSource.java:105)
此问题与此处其他问题的主要区别在于,这不是连接到 wamp 或 mamp 堆栈,而是连接到远程数据库。