Usiłuję uzyskać serwer MySQL (który znajduje się w maszynie wirtualnej), aby odpowiedział klientowi (znajdującemu się na hoście). Wszystkie metody zwracają się tak samo:
Host '10.0.2.2' is not allowed to connect to this MySQL server
Zapewniłem właściwe przekierowanie portów. Zapewniłem również, że my.cnf
mam następujące linie:
skip-external-locking
bind-address = 0.0.0.0
To mi nie działało. Starałem się też grać trochę następująco:
bind-address = 10.0.2.2
Ale to też mi nie działało - serwer po prostu nie mógł się uruchomić.
Jakieś pomysły, gdzie się mylę?
AKTUALIZACJA. Nie sprawdziłem uprawnień dla root@%
jak w Jak zmienić uprawnienia dla użytkownika MySQL, który został już utworzony?
ROZWIĄZANY.
mysql
virtualbox
defence
źródło
źródło
root:root
. Wątpię, czy problem polega na logowaniu, w przeciwnym razie komunikat o błędzie wskazywałby coś lileAccess denied for [email protected]
lub coś.root@%
. Całkiem moja wina.Odpowiedzi:
Czy host lokalny konta root jest dostępny tylko w zdecydowanej większości domyślnych instalacji, czy jesteś pewien, że zezwoliłeś mu na logowanie z innego systemu? Z podręcznika MySQL :
Tak więc, nie ma to
%
czy10.0.2.2
wHost
kolumnie w ogóle. Sprawdź swoją bieżącą konfigurację:Prawdopodobnie chcesz utworzyć nowy wpis roota z tym samym hasłem, co teraz.
źródło
mysql -e "create user 'root'@'10.0.2.2' identified by 'yourpassword'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;"