Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

[ROZWIĄZANE] Po migracji na MariaDB nie łączy zdalnie z bazą danych


Rekomendowane odpowiedzi

Opublikowano

Migrowałem na nowego VPS, DirectAdmin od zera, domyślnie odpalił MariaDB. Pomyślałem - czemu nie? ;-)

Wszystko działa ok poza jedną sprawą - nie mogę połączyć się do mysql z zewnątrz POMIMO wrzucenia odpowiednich uprawnień do tabeli ('%').

 

netstat -anp tcp netstat -anp | grep :3306
tcp6       0      0 :::3306                 :::*                    LISTEN      29215/mysqld

wydaje mi się, że tak jest dobrze.

 

skip_networking jest na OFF.

 

3306 na firewallu otworzony.


Jak się próbuję łączyć z zewnątrz to dostaję:
Host 'xx-xx-xx-xxx-xx.dynamic.chello.pl' is not allowed to connect to this MariaDB server.

 

Jakieś sugestie?

Przy okazji - w praktyce MariaDB lepsza od MySQL?

 

 

 

 

Opublikowano

Wydawało mi się, że netstata wychodzi, że nasłuchuje na wszystkim...

Tak czy inaczej w konfigu nie było bind-address ale eksperymentalnie ustawiłem na 0.0.0.0 i dalej kiszka - ten sam efekt, czyli się nie łączy.

Opublikowano

Hmm, a DA czasem nie blockuje defaultowo dostępu zdalnego?

Po zalogowaniu do DA na poziomie usera -> MySQL -> Kliknij na nazwę bazy -> Na dole w tabeli nazwy hostów/IP, dla których połączenie zdalne jest możliwe. Dodaj swój IP i spróbuj ponownie.

Opublikowano
3 godziny temu, MateuszCODE napisał:

Sprawdź czy w katalogu /etc/MySQL nie ma innych configów. Bo nie pamiętam jaka wersja ale tworzyła my.cnf oraz w katalogach config

 

Nie ma katalogu /etc/MySQL. Wrzuciłem wyszukiwanie my.cnf na całym serwerze i poza etc i w katalogach mysql-test nie ma.

 

3 godziny temu, mariaczi napisał:

Sprawdź telnet'em co dostaniesz przy próbie połączenia się z tej maszyny chello do mysql'a:

 


telnet IP_MySQLa 3306

 

 

Host 'xx-xx-xx-xxx.dynamic.chello.pl' is not allowed to connect to this MariaDB server

 

42 minuty temu, SomeGuy napisał:

Hmm, a DA czasem nie blockuje defaultowo dostępu zdalnego?

Po zalogowaniu do DA na poziomie usera -> MySQL -> Kliknij na nazwę bazy -> Na dole w tabeli nazwy hostów/IP, dla których połączenie zdalne jest możliwe. Dodaj swój IP i spróbuj ponownie.

W nazwach hostów mam dodany '%' co daje w teorii (dawało w praktyce na mysql) dostęp z każdego ip. Ale dodałem konkretne moje ip i nic to nie zmieniło.

 

Sądząc po komunikacie zwrotnym to próba połączenia dociera do serwera MariaDB tylko ten łobuz nie chce gadać dalej.

skip_networking jest na OFF - co sprawdziłem po SHOW VARIABLES na działającym serwerze MariaDB.

 

Opublikowano
1 minutę temu, SomeGuy napisał:

@magician a wpis, który podesłał @Suspect zakomentowałeś? 

 

8 godzin temu, magician napisał:

Wydawało mi się, że netstata wychodzi, że nasłuchuje na wszystkim...

Tak czy inaczej w konfigu nie było bind-address ale eksperymentalnie ustawiłem na 0.0.0.0 i dalej kiszka - ten sam efekt, czyli się nie łączy.

 

tak jak powyżej pisałem - kiszka.

Opublikowano (edytowane)

Hmm... telnet do samego IP może zwrócić błąd, bo host wc (wildcard %) jest dodany do konkretnej bazy, a tam gdzie się to dodaje, mysql dostaje grantsy per user (user_db@host_zDA). Spróbuj połączyć się przez

mysql -u user_tejbazy -h  IPADRES -p

 

Możesz się jeszcze upewnić, czy dobrze został dodany wildcard hostallow dla danego usera:

SELECT host FROM mysql.user WHERE User = 'userzDA_loginBazy';

Edytowane przez SomeGuy
  • Lubię 1
Opublikowano
8 minut temu, SomeGuy napisał:

Hmm... telnet do samego IP może zwrócić błąd, bo host wc (wildcard %) jest dodany do konkretnej bazy, a tam gdzie się to dodaje, mysql dostaje grantsy per user (user_db@host_zDA). Spróbuj połączyć się przez

mysql -u user_tejbazy -h  IPADRES -p

ERROR 1130 (HY000): Host '89-78-209-253.dynamic.chello.pl' is not allowed to connect to this MariaDB server

8 minut temu, SomeGuy napisał:

Możesz się jeszcze upewnić, czy dobrze został dodany wildcard hostallow dla danego usera:

SELECT host FROM mysql.user WHERE User = 'userzDA_loginBazy';

BINGO! Tylko jak to teraz obejść? Bo wychodzi, że DA ma problem z dodaniem hosta wc ('%')

W phpmyadmin widać, że coś jest nie tak z uprawnieniami dla userów - brakuje hasła.

 

Edycja:

Namierzyłem, że chodzi o niekombatybilność w tym aspekcie struktury bazy z MySQL na MariaDB. Konieczne jest odpalenie:

ALTER TABLE mysql.user ALTER authentication_string SET DEFAULT '';

na root. Potem ponownie trzeba dodać w DA wildcard % dla pożądanej bazy.

 

Uff.. człowiek się uczy całe życie :-) Podziękowania za sugestie dla wszystkich. Owocnego dnia :-)

 

Opublikowano (edytowane)

Ten authenticatation_string określa z czego serwer SQLa (tutaj MariaDB) ma korzystać (w jakiej kolejności) do autoryzacji. Prawdopodobnie miałeś tam coś w stylu "plugin" czy cuś takiego.

Edytowane przez mariaczi

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.