Zainstalowałem MySQL i nawet zalogowałem się tam jako użytkownik.
Ale kiedy próbuję połączyć się w ten sposób:
http://localhost:3306
mysql://localhost:3306
Ani jedno, ani drugie nie działa. Nie jestem pewien, czy oba mają działać, ale przynajmniej jeden z nich powinien :)
Jak mogę się upewnić, że port to rzeczywiście 3306? Czy jest jakieś polecenie Linuksa, aby to jakoś zobaczyć? Czy istnieje bardziej poprawny sposób wypróbowania tego za pomocą adresu URL?
-p
parametru. Dodanie procesu (-ów) naprawdę pomaga zwiększyć użyteczność tych informacji.man netstat
.Korzystanie z klienta MySQL:
źródło
grep port /etc/mysql/my.cnf
(przynajmniej w debianie / ubuntu)lub
zweryfikować
w /etc/mysql/my.cnf, aby zobaczyć możliwe ograniczenia
źródło
Wyświetli listę mniej więcej tak:
Użyj jako root dla wszystkich szczegółów.
-t
Opcja ogranicza wyjście do połączeń TCP,-l
do słuchania porty,-p
zawiera nazwę programu i-n
pokazuje wersję numeryczną portu zamiast wersji nazwie.W ten sposób możesz zobaczyć nazwę procesu i port.
źródło
Spróbuj użyć tylko opcji
-e
(--execute
):Zastąp
root
swoją „nazwą użytkownika” i „hasłem”źródło
Oba adresy URL są nieprawidłowe - powinno być
Myślałem, że to oczywiste, ale połączenie się z bazą danych za pomocą Java wymaga sterownika JDBC. Będziesz potrzebował sterownika MySQL JDBC .
Może możesz połączyć się za pomocą gniazda przez TCP / IP. Sprawdź dokumentację MySQL .
Zobacz http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html
AKTUALIZACJA:
Próbowałem połączyć się telnetem z MySQL (
telnet ip 3306
), ale to nie działa:http://lists.mysql.com/win32/253
Myślę, że właśnie to miałeś na myśli.
źródło
Prostsze podejście dla niektórych: jeśli chcesz tylko sprawdzić, czy MySQL jest na określonym porcie, możesz użyć następującego polecenia w terminalu. Przetestowano na mac. 3306 to port domyślny.
mysql --host=127.0.0.1 --port=3306
Jeśli pomyślnie zalogujesz się do terminalu powłoki MySQL, wszystko jest w porządku! To jest wynik, który otrzymuję po pomyślnym zalogowaniu.
źródło
3306 to domyślny port dla mysql. Sprawdź to na:
powinien dać taki wynik:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* SŁUCHAJ
źródło
możesz użyć
źródło
Dla mnie odpowiedź @ joseluisq dała:
Ale to działało w ten sposób:
źródło
W systemie Mac OS X są dwie opcje.
netstat
lublsof
Użycie
netstat
nie pokaże procesu na Mac OS X. więc używając netstat możesz wyszukiwać tylko według portu.Za pomocą
lsof
pokaże nazwę procesu.Wykonałem następujące czynności, ponieważ napotykałem konflikty portów (kontenery docker):
netstat -aln | grep 3306
Wyjścia:
tcp46 0 0 *.3306 *.* LISTEN
sudo lsof -i -P | grep -i "LISTEN" | grep -i 3306
Wyjścia:
mysqld 60608 _mysql 31u IPv6 0x2ebc4b8d88d9ec6b 0t0 TCP *:3306 (LISTEN)
źródło
Jeśli jesteś w systemie, w którym
netstat
nie jest dostępny (np. RHEL 7 i nowsze wydania Debiana), możesz użyćss
, jak poniżej:Otrzymasz coś takiego do wyjścia:
Czwarta kolumna to
Local Address:Port
. W tym przypadku Mysql nasłuchuje na porcie 3306, domyślnym.źródło
Zgadzam się z rozwiązaniem @ bortunac. my.conf jest specyficzny dla mysql, podczas gdy netstat dostarczy Ci wszystkie porty nasłuchujące.
Być może użyj obu, jednego do sprawdzenia, który port jest ustawiony dla mysql, a drugiego do sprawdzenia, czy system nasłuchuje przez ten port.
Mój klient używa CentOS 6.6 i znalazłem plik my.conf w / etc /, więc użyłem:
grep port /etc/my.conf
(CentOS 6.6)źródło