连接到数据源phpstorm

时间:2012-07-28 21:14:46

标签: jdbc odbc mysql-connector phpstorm

我正在尝试将PHPStorm连接到我的网站服务器上的数据库,该数据库托管在BlueHost的Linux机器上。

为了做到这一点,我点击了屏幕右侧的数据源选项卡,+图标,然后弹出了 DB数据源数据源属性对话框。我输入了源名称,将数据源级别设置为项目。然后下载了MySQL Connector / J-5.1.18 JDBC驱动程序文件。这使JDBC驱动程序类充满了大约6-7个类,包括 com.mysql.jdbc.Driver

我相信我遇到的问题是数据库网址。它要求一个我不熟悉的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堆栈,而是连接到远程数据库。

2 个答案:

答案 0 :(得分:9)

如果您正在使用Mamp并且您遇到此问题,请打开MAMP并取消选中“仅允许本地访问”#39;。

答案 1 :(得分:4)

BlueHost要求我将我的IP地址范围添加到允许的访问主机列表中。我在共享主机帐户上,因此BlueHost似乎允许在共享主机帐户上进行远程连接。

我是通过在我的托管帐户的cPanel中单击PHPMyAdmin旁边的“远程MySQL”来完成此操作。 cPanel自动检测到我的IP范围,并建议我添加它。一旦我做了,其他一切都落到了位置。

感谢LazyOne指出我正确的方向。