Mam konfigurację MySQL Master / Slave i zauważyłem następujące ostrzeżenia w plikach dziennika mysql na obu serwerach:
[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known
Sprawdziłem, a wyszukiwania DNS działają poprawnie i większość tych adresów IP pochodzi z Chin.
Planuję ograniczyć dostęp do portu 3306 w zaporze, jednak proszę, pomóż mi zrozumieć, co próbują zrobić. Czy oni tylko próbują połączyć się z serwerem MySQL. Gdzie mogę znaleźć więcej szczegółów.
Dzięki
localhost
, MySQL nadal będzie sprawdzać w przód,localhost
aby upewnić się, że odpowiada on oryginalnemu adresowi IP. Jednak, podobnie jak w przypadku wszystkich kwestii związanych z bezpieczeństwem, nie ufaj mi tylko. I nadal lepiej jest wyłączyć rozpoznawanie nazw w konfiguracji.Wydaje mi się, że bardzo bardzo złym pomysłem jest udostępnianie serwerów baz danych bezpośrednio w Internecie.
Jeśli replikujesz się na zdalnym hoście i potrzebujesz do tego dostępu do Internetu, sugeruję skonfigurowanie VPN między dwiema sieciami i powiązanie serwerów MySQL, aby nasłuchiwały tylko sieci lokalnej.
Jeśli oba hosty są w tej samej sieci lokalnej, możesz bezpiecznie powiązać serwery mysql z tą siecią.
źródło
Właśnie mnie to złapało na Amazon RDS. Chciałem tylko połączyć się z moją testową instancją bazy danych (zdecydowanie nie jest zalecane dla produkcyjnych baz danych):
Grupy zabezpieczeń w Amazon RDS działają nieco inaczej niż normalne reguły zapory dla instancji EC2. Jeśli otworzysz port MySQL dla określonego adresu IP, adres IP musi zostać rozpoznany przez serwer MySQL. Jeśli nie, połączenie zostanie odrzucone. Tymczasowym rozwiązaniem jest utworzenie nowej grupy zabezpieczeń, tj. Za
anyone_can_connect_to_mysql
pomocą tylko jednego elementu - zezwól na połączenie przychodzące MySQL / Aurora w dowolnym miejscu z Internetu i dołącz tę grupę zabezpieczeń do swojej bazy danych.Spowoduje to usunięcie sprawdzenia adresu IP z połączeń klienckich, abyś mógł się połączyć. Nie zapomnij odłączyć
anyone_can_connect_to_mysql
zasady od bazy danych, gdy problemy związane z rozwiązywaniem problemu zostaną zakończone.źródło
Podczas zdalnego łączenia się z MySQL mam błąd. Miałem to ostrzeżenie w
/var/log/mysqld.log
:Właśnie dodałem tę linię do
/etc/hosts
pliku:Problem rozwiązany! bez użycia
skip-name-resolve
spowodowało to błędy w mojej lokalnej aplikacji podczas łączenia się z mysql.źródło