2015-08-06 2 views
0

Я нахожусь в OsX и пытаюсь подключить PHP Storm к MySQL. При использовании MAMP он работал нормально, но теперь, когда я напрямую использую MySQL, загруженный с официального сайта, PHPStorm больше не подключается к MySQL.PHPStorm не подключается к локальному MySQL

PhpStorm возвращает эту ошибку:

Connection to [email protected] 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:389) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1038) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:338) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2237) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2270) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:794) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44) 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:389) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) in RemoteDriverImpl.connect(RemoteDriverImpl.java:27) in RemoteUtil.access$100(RemoteUtil.java:36) in RemoteUtil$RemoteInvocationHandler.invoke(RemoteUtil.java:229) at com.sun.proxy.$Proxy122.connect(Unknown Source) in LocalDataSource.getConnection(LocalDataSource.java:240) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:382) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431) at java.net.Socket.connect(Socket.java:527) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:213) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:297) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2237) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2270) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:794) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44) 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:389) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) in RemoteDriverImpl.connect(RemoteDriverImpl.java:27)

Я думаю, что это что-то связанное с конфигурацией, но я не могу понять, что проблема точно.

PHPMyAdmin правильно соединяется с использованием пользователя и пароля, PHP Storm, напротив, не хочет подключаться каким-либо образом.

Полезные советы для решения проблемы? Спасибо!

+1

Возможно, вы захотите посмотреть http://stackoverflow.com/questions/27334726/phpstorm-database-java-sql-sqlexception-communications-link-failure?rq=1 –

+0

Также, если это решение для MAMP, оно взял меня в правильном направлении: спасибо! – Aerendir

ответ

1

Проблема заключалась в том порте, к которому подключалась MySQL.

Чтобы найти правильный номер порта, который я использовал:

mysql > select user(); 
mysql > show variables; 

Это, среди прочего, показал мне порт, на котором MySQL является соединяющим, и это было 3307 вместо значения по умолчанию 3306, поэтому соединение было отказано ,