Używam aplikacji Rails, więc teraz próbuję zdalnie łączyć się z mysql i otrzymuję ten błąd Nie można nawiązać połączenia : Utracono połączenie z serwerem MySQL na „czyta początkowego pakietu komunikacyjnego”, błąd systemu: 0Nie można nawiązać połączenia: utracono połączenie z serwerem MySQL przy "odczytywanie początkowego pakietu komunikacyjnego", błąd systemowy: 0
Odpowiedz
wyboru z tego hosta
shell> telnet IP 3306
Jeśli MySQL jest osiągalny i zobaczysz wersję MySQL w produkcji telnet. W przeciwnym razie sprawdź zaporę sieciową, itd., Aż telnet się powiedzie.
Wtedy radzę ci najpierw połączyć się z natywnym klientem mysql, aby wykluczyć Railsy z problemu arii.
Dziękujemy wam za wysiłek, znalazłem rozwiązanie, ja przypuszczam, aby ustawić zdalne połączenie MySQLhere odnośnikiem dla kogoś, kto ma ten sam błąd http://benrobb.com/2007/01/15/howto-remote-root-access-to-mysql/
Możesz też sprawdzić swoją /itd/hosts.deny gdzie:
ALL: ALL: DENY
lub
mysqld: ALL: DENY
jest twoim wrogiem.
Musisz edytować plik konfiguracyjny mysql, domyślnie bind-adress
jest ustawiony na 127.0.0.1
.
Czynne: /etc/mysql/my.cnf
Zmiana bind-adress
do OD masz zamiar użyć do połączenia yoursef do serwera bazy danych.
Hej, zmieniłem to, ale wciąż problem nie rozwiązał. –
to samo tutaj .. nie rozwiązało .. zwykle jeśli zrestartuję serwer, który jest z powrotem i działa ponownie. sprawdził '/ etc/hosts.deny', wypróbował' 127.0.0.1', 'localhost' i' liveserver-ip' ... – FooBar
Włącz zdalny dostęp
Serwer MySQL nie nasłuchuje na porcie TCP 3306 domyślnie. Aby zezwolić na (zdalne) połączenia TCP, komentarz następujący wiersz w pliku /etc/mysql/my.cnf:
skip-networking
Pamiętaj, aby edytować /etc/hosts.allow dodając następujące linie:
mysqld: ALL: POZWOLI
mysqld-max: ALL: POZWOLI
mysqld-max: ALL: Pozwól rozwiązać problem dla mnie
restartu serwer pracował dla mnie. Nie trzeba zmieniać ustawień.
Restartowanie MySQL działało dla mnie. Nie wiem, dlaczego tak wiele trzeba zająć. –
Zgadzam się z Tobą, ponieważ zauważam kilka przegranych, a także pozytywne komentarze i oczywiście w moim przypadku wszystko, co musiałem zrobić, to zrestartować mysqlserver – d1jhoni1b
Aktualizuję zarówno odpowiedź, jak i komentarz, ponieważ w rzeczywistości był to napraw dla mnie – d1jhoni1b
Jak wszyscy teraz istnieje wiele różnych sposobów, aby zainstalować i skonfigurować DBMS MySQL (systemów zarządzania bazami danych) na naszych maszynach oprócz faktu, że wszyscy uruchomić inny system operacyjny (Linux, OSX, wygrać $ hit, etc)
w moim przypadku w szczególności byłem coraz
connect': Lost connection to MySQL server at 'reading initial communication packet', system error: 102 (Mysql2::Error)
BUT ja nawet nie miałem /etc/hosts.deny
miałem tylko /etc/hosts
bo zainstalowany MySQL na moim komputerze OSX stosując proste GUI OSX app
Stan instancji MySQL: NIE OK. Powyższy obraz jest tylko odnośnikiem do aplikacji MySQL OSX.
Prosty serwer re-start rozwiązać ten problem. (W moim przypadku musiałem restartować maszynę, ale to wymaga restartu serwera MySQL)
I była w stanie ponownie dotrzeć do mojego instancji localhost dobrze, nie miałem zmienić, utwórz pojedynczy plik.
Mam nadzieję, że to pomoże, widzę odpowiedź i komentarze Malcolm i sprawiło, że pomyślałem, że to dobrze.
To rozwiązało problem. Była ostatnia przeszkoda po naprawieniu pliku my.cnf i przesyłania dalej 3306. – f1sh
Dodaj to do swojego /etc/hosts.allow, aby rozwiązać problem: mysqld: ALL Możesz zezwolić na właśnie klientów pochodzących z takiej sieci: mysqld: 192.168.1.0/255.255.255.0 –
Mój Boże, uratowałeś mnie. – netvision73