Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Serwery WWW _ xampp - connect to external MySQL DB with SSH tunnel - No such file or directory

Napisany przez: virgus66 7.12.2017, 16:58:37

Probowalem wszystkiego i wciz ten sam problem. Udalo mi sie polaczyc z baza przez workbencha, tworzac tunel ssh, ale z apacha wciaz dostaje odpowiedz:

Cytat
ERROR - Connection to DB failed: SQLSTATE[HY000] [2002] No such file or directory


User and pass 100% poprawne, co robie zle?

  1. <?php
  2. try
  3. {
  4. $pdo = new PDO('mysql:127.0.0.1:3306', 'user', 'password');
  5. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6. $pdo->exec('SET NAMES "utf8"');
  7. http://www.php.net/echo "Connected!";
  8. }
  9. catch (PDOException $e) {
  10. $error = 'ERROR - Connection to DB failed: ' . $e->getMessage();
  11. http://www.php.net/echo $error; http://www.php.net/exit();
  12. }
  13.  
  14. ?>

Napisany przez: Pyton_000 7.12.2017, 17:01:57

$pdo = new PDO('mysql:host=127.0.0.1', 'user', 'password');

Napisany przez: virgus66 7.12.2017, 17:07:06

zmienil sie tylko err

Cytat
ERROR - Connection to DB failed: SQLSTATE[HY000] [2002] Connection refused


nie trzeba podawac portu? przy polaceniu przez mysql workbench byl wymagany

Napisany przez: Pyton_000 7.12.2017, 17:26:31

jeśli port jest standardowy to nie
natomiast jeśli musisz podać port to ma to wyglądać tak:

'mysql:host=127.0.0.1;port=3306'

Napisany przez: virgus66 7.12.2017, 17:34:14

Wciaz zima,

Cytat
Connection refused 2002
....

Gdzies xampp tutaj to polaczenie blokuje, tylko nie wiem gdzie...

Napisany przez: Pyton_000 7.12.2017, 17:35:41

Workbench Ci się łączy na tych danych?

Napisany przez: virgus66 7.12.2017, 17:39:32

laczy, ale przez szyfrowany tunel ssh. Mam ustanowione to polaczenie :

ssh -L10000:127.0.0.1:10000 ucado-dev@app.ucado.co.uk

ale ja sie na polaczeniach ssh i ustalaniu portow nie znam za bardzo. Mam w konsoli otwarte to polaczenie i w przegladarce mam dostep do servera pod adresem localhost:10000, z konsoli tez mam dostep do bazy danych .....

EDIT

zmienilem host na localhost (tak jak w workbenchu) zmienil sie tylko komunikat

Cytat
[2002] No such file or directory

Napisany przez: Pyton_000 7.12.2017, 17:50:02

No to skoro łączysz się na porcie 10000 to czemu podajesz 3306??

Napisany przez: virgus66 7.12.2017, 17:54:17

3306 to domyslny port dla databasy, jego uzywam w polaczeniu MySQL workbencha. 10000 to port do glownego serwera

Napisany przez: Pyton_000 7.12.2017, 18:02:31

to gdzie ty się chcesz połączyć w końcu? do lokalnej bazy czy zdalnej?

Napisany przez: virgus66 7.12.2017, 18:04:41

do zdalnej, w workbenchu uzywam portu 3306 i sie lacze z baza danych. Juz kompletnie nie rozumiem tego, tu dziala tam nie

Napisany przez: Pyton_000 7.12.2017, 18:13:56

pokaż screena

Napisany przez: virgus66 7.12.2017, 18:19:25

https://ibb.co/kGsrsw



a tu polaczenie z konsoli, jak widzisz w pasku dziala na porcie 10000

https://ibb.co/h1uhzb

Napisany przez: Pyton_000 7.12.2017, 18:37:35

odpal sobie tunel:

ssh -L3307:127.0.0.1:3306 ucado-dev@app.ucado.co.uk -N

i połączenie w PDO na

mysql:host=127.0.0.1;port=3307

Napisany przez: virgus66 8.12.2017, 11:45:49

tunel odpalony, port w pdo zmieniony na 3307 - teraz komunikat zmienil sie na connection refused ..... i niewiele to mowi, nie wiadomo dlaczego odrzuca

Cytat
ERROR - Connection to DB failed: SQLSTATE[HY000] [2002] Connection refused


czy mozliwe ze teraz w php.ini albo pliku mysql.ini cos trzeba zmienic w portach? moze domyslnie chce dostepu przez 3306 ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)