Odpowiedzi:
Nie, nie ma (właśnie sprawdziłem godzinę temu). Możesz skomentować adres powiązania w my.cnf:
#skip-networking
#bind-address = 127.0.0.1
Jeśli chcesz tylko 2 adresy IP, będziesz musiał użyć zapory.
socket
i bind-address
.
Powiązanie z wersją 127.0.0.x nie spowoduje, że będzie ona dostępna dla wszystkich urządzeń, udostępni ją tylko lokalnie. Jeśli chcesz udostępnić go wszystkim interfejsom, powinieneś użyć 0.0.0.0. Jeśli chcesz uzyskać do niego dostęp z więcej niż jednego, ale mniej niż ze wszystkich interfejsów, powinieneś połączyć się z 0.0.0.0 i zaporę sieciową z interfejsów, do których nie chcesz uzyskać dostępu.
Ponadto, jako druga warstwa bezpieczeństwa, powinieneś upewnić się, że wszyscy użytkownicy MySQL mają ustawione pole hosta na wartość inną niż% (tj. Dowolny host).
INADDR_ANY (0.0.0.0) means any address for binding;
?
/etc/mysql/conf.d/bindaddress.cnf
plik z zawartością[mysqld] \n bind-address = 0.0.0.0
Nie można powiązać więcej niż jednego adresu IP, ale zamiast tego można powiązać wszystkie dostępne adresy IP. Jeśli tak, użyj 0.0.0.0
adresu powiązania w pliku konfiguracyjnym MySQL (np. /Etc/mysql/my.cnf) w następujący sposób:
bind-address = 0.0.0.0
Jeśli adres to 0.0.0.0, serwer akceptuje połączenia TCP / IP na wszystkich interfejsach hosta serwera IPv4.
Ponadto, jeśli adres jest ::
, serwer akceptuje połączenia TCP / IP na wszystkich interfejsach hosta IPv4 i IPv6 na serwerze. Użyj tego adresu, aby zezwolić zarówno na połączenia IPv4, jak i IPv6 na wszystkich interfejsach serwera.
Możesz też po prostu bind-address=
całkowicie skomentować , aby powiązać wszystkie adresy. Ale upewnij się, że nie masz skip-networking
włączonej opcji w pliku my.cnf, jeśli chcesz również zezwalać na połączenia zdalne (czytaj więcej: MySQL: Zezwalaj na połączenia zdalne ORAZ lokalne ).
Po zmianie adresu powiązania nie zapomnij zrestartować serwera MySQL poprzez:
sudo service mysql restart
W końcu możesz rozważyć uruchomienie wielu instancji MySQL na jednym komputerze (różnych portach) z replikacją Master / Slave. Replikacja umożliwia kopiowanie danych z jednego serwera bazy danych MySQL (master) na co najmniej jeden serwer bazy danych MySQL (slave).
Czytaj więcej:
Nie, nie możesz. Strona, do której prowadzi link, wyraźnie stwierdza:
Adres IP do powiązania. Można wybrać tylko jeden adres. Jeśli ta opcja zostanie podana wiele razy, użyty zostanie ostatni podany adres.
Jeśli nie podano adresu lub wartości 0.0.0.0, serwer nasłuchuje na wszystkich interfejsach.
Jak odpowiedzieli inni, nie ma jeszcze sposobu na selektywne powiązanie z więcej niż jednym interfejsem.
Linux ma kilka narzędzi TCP, które to umożliwiają. W tej konfiguracji skonfigurujesz mysql do nasłuchiwania na 127.0.0.1, a następnie użyjesz redir, aby udostępnić go na dowolnych interfejsach.
Używam tego, aby pomóc wirtualnemu gościowi box zobaczyć mysql zainstalowany na maszynie hosta.
redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &
Myślę, że twoje pytanie dotyczy tego błędu http://bugs.mysql.com/bug.php?id=14979 Raport o błędzie sugeruje pewne obejście.
W wersjach wcześniejszych niż MySQL 8.0.13 --industadres przyjmuje pojedynczą wartość adresu, która może określać pojedynczy adres IP lub nazwę hosta bez symboli wieloznacznych lub jeden z formatów adresów z symbolami wieloznacznymi, które umożliwiają słuchanie na wielu interfejsach sieciowych (*, 0,0 .0.0 lub: :).
Począwszy od MySQL 8.0.13, --bind-address akceptuje pojedynczą wartość, jak właśnie opisano, lub listę wartości oddzielonych przecinkami. Gdy opcja nazywa listę wielu wartości, każda wartość musi określać pojedynczy adres IP lub nazwę hosta niepoprawnie; żaden nie może określić formatu adresu z symbolem wieloznacznym (*, 0.0.0.0 lub: :).
Źródło: https://dev.mysql.com/doc/refman/8.0/en/server-options.html
W pliku my.cnf zmień (zwykle /etc/mysql/my.cnf w systemie Linux lub Windows sprawdź tę odpowiedź.
bind-address = 127.0.0.1
do
bind-address = 0.0.0.0
Następnie zrestartuj mysql (w usłudze Ubuntu restart mysql ) w systemie Windows zwykle uruchom ponownie usługę przez Win + R services.msc
0.0.0.0 mówi, aby wiązał się ze wszystkimi dostępnymi adresami IP z portem podanym również w my.cnf