2012-09-14 18 views
5

Nowość do łączenia się z bazami danych i nie mają pojęcia, do czego zacząć rozwiązywać -heidisql łączenia się z serwerem MySQL - Utracono połączenie ... serwer na czytanie początkowej

Obecnie używam heidisql podłączenia do zewnętrznej bazy danych MySQL Serwer hostowany w Amazon Web Service - EC2.

jestem w stanie uzyskać dostęp do bazy danych za pomocą heidisql z ustawieniami: MySQL (tunelu SSH) hosta/IP: 127.0.0.1 użytkownik: (użytkownik) hasło: (PW) portu 3306

w zakładce tunelu SSH: plink.exe lokalizacja jest ustawiona na putty.exe sshhost + portu: (moje ip host) port 22 plik klucza prywatnego (jest ustawiony) lokalny port: 3307

Stosując tę ​​konfigurację wejść Jestem w stanie zalogować się do mojej bazy danych. Mój problem jest, gdy próbuję to zrobić za pomocą własnych poleceń putty pomocą przekierowania portów:

W Putty: ustawić SSH> tunele - port źródłowy: 3307, docelowy (mój gospodarz IP): 3306 lokalny i Auto. połączyć korzystając z moich haseł i hostip

Powrót do heidisql, kładę moje ustawienia do: Myśl (TCP/IP) hosta: localhost użytkownika (user) hasło (pw) portu 3307

i spróbuj się połączyć. Pojawia się następujący błąd: SL ERROR (2013): Utracono połączenie z serwerem MySQL przy "wczytaniu początkowego pakietu komunikacyjnego", błąd systemowy: 0

Z tego, co przeczytałem, oznacza to, że mój tunel ssh działa, ale coś innego jest źle. Nie rozumiem, dlaczego to nie działa. Czy nie ustawiam prawidłowo czegoś innego? Zapora ogniowa? Moim ostatecznym celem jest podłączenie innej aplikacji do komunikacji z bazą danych za pomocą ODBC lub JDBC przy użyciu tego samego pomysłu przekierowania portów. Czy są jakieś dzienniki do sprawdzenia?

+0

na serwerze ec2: w/etc/ssh/sshd_config dodano wiersz: AllowTcpForwarding yes zmieniło to mój komunikat o błędzie na root @ hostip denied. Gdzie ten root jest wartością, którą umieszczam w HeidiSQL jako mój użytkownik bazy danych - root. Z hasłem i bez niego odmówiono mi dostępu. Jakie inne możliwe ustawienia muszę włączyć? – user1639926

Odpowiedz

0

Wygląda na to, że próbujesz to zrobić: http://realprogrammers.com/how_to/set_up_an_ssh_tunnel_with_putty.html To powinno działać. Zakładam, że serwer ssh i serwer mysql działają na zdalnym komputerze.

In Putty: I set SSH>tunnels - source port: 3307, destination (my host ip):3306 Local and Auto. I connect using my passwords and hostip

Powinno być: set SSH> Tunele - Port źródłowy: 3307, przeznaczenia 127.0.0.1:3306 lokalny i Auto.

heidisql: port (użytkownik) hasło (pw) 3307

Zauważ, że jeśli masz usługę MySQL uruchomiony na komputerze lokalnym, na porcie próbujesz: Myśl (TCP/IP) hostname: użytkownik localhost posłuchaj (3307) otrzymasz błąd 2013, nawet jeśli lokalna usługa nie działa! W takim przypadku użyj dowolnego nieużywanego portu.

Ponadto, jeśli zdalny serwer mysql ma tabelę użytkowników (baza danych mysql) ograniczony do niektórych hostów, to nie będzie działać. O ile nie dowiesz się, jak serwer rozpoznaje siebie (nazwa komputera) i dodaje go do tabeli użytkowników lub po prostu używasz symbolu wieloznacznego "%".

Powiązane problemy