Există un mod secret de a lega MySQL pentru mai mult de o adresă IP?
În măsura în care pot vedea bind-address parametru mea.cnf nu suport mai mult de un IP și puteți't au mai mult decât o dată.
Legarea la 127.0.0.x câștigat't face disponibil pentru toate dispozitivele, se va face disponibile la nivel local numai. Dacă doriți pentru a face disponibil pentru toate interfețele, ar trebui să utilizați 0.0.0.0. Dacă doriți să accesa de pe mai mult de una, dar mai puțin decât toate interfețele, ar trebui să se lege la 0.0.0.0 și firewall-ul de pe interfețele nu't vreau pentru a fi accesate prin intermediul.
De asemenea, ca un al doilea strat de securitate, ar trebui să asigurați-vă că toate MySQL utilizatorii au host câmp setat la altceva decât % (ie orice gazdă).
Puteți't se leaga de mai mult de o adresă IP, dar puteți lega la toate adresele IP în loc. Dacă este așa, trebuie doar să utilizați `0.0.0.0 pentru o legare adresa în MySQL fișier de configurare (de exemplu, /etc/mysql/my.cnf), după cum urmează:
bind-address = 0.0.0.0
Dacă adresa este 0.0.0.0, serverul acceptă conexiuni TCP/IP pe server gazdă IPv4 interfețe.
În plus, dacă adresa este ::
, serverul acceptă conexiuni TCP/IP pe server gazdă IPv4 și IPv6 interfețe. Folosi această adresă pentru a permite atât IPv4 și IPv6 conexiuni pe server de interfețe.
Sau puteți pur și simplu comentariu bind-address=
cu totul, deci se va lega la toate adresele. Dar asigurați-vă că don't au skip-networking
activată în telefonul meu.cnf dacă doriți, pentru a permite conexiuni la distanță la fel de bine (mai mult: MySQL: Permite atât de la distanță ȘI locale conexiuni).
După schimbarea obligatoriu adresa, don't uitați să reporniți serverul MySQL de:
sudo service mysql restart
În cele din urmă puteți lua în considerare pentru a rula mai multe instanțe de MySQL pe o singură mașină (porturi diferite) cu Master/Slave replicare. Replicare permite date de la o bază de date MySQL server (master) pentru a fi copiate de la unul sau mai multe servere de baze de date MySQL (sclavii).
Citește mai mult:
Nu, nu poți. Pagina link-ul de la mod clar:
adresa IP pentru a lega. Doar o singura adresa poate fi selectat. Dacă această opțiune este specificat de mai multe ori, ultima adresă dat este folosit.
Dacă nici o adresa sau 0.0.0.0 este specificat, serverul ascultă pe toate interfețele.
Cum alții au răspuns:,, nu e't încă o cale de a lega selectiv la mai mult de o singură interfață.
Linux are unele TCP instrumente care fac posibilă. În această configurare, ai'd configurarea mysql pentru a asculta pe 127.0.0.1 și de a folosi apoi redir pentru a-l expune pe arbitrare interfețe.
Am'am fost folosind acest lucru pentru a ajuta un virtual box oaspete vedea mysql instalat pe mașina gazdă.
redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &
Înainte de MySQL 8.0.13, --bind-address acceptă o singură adresă de valoare, care poate specifica un singur non-wildcard adresa IP sau numele de gazdă, sau una dintre cele wildcard adresa formate care permit de a asculta pe mai multe interfețe de rețea (*, 0.0.0.0, sau ::).
Ca de MySQL 8.0.13, --bind-address acceptă o singură valoare, ca doar descris, sau o listă de valori separate prin virgulă. Atunci când opțiunea nume o listă cu mai multe valori, fiecare valoare trebuie să specificați un singur non-wildcard adresa IP sau numele de gazdă; nimeni nu poate specifica un wildcard adresa de format (*, 0.0.0.0, sau ::).
Sursa: https://dev.mysql.com/doc/refman/8.0/en/server-options.html
În mea.cnf schimba (de obicei /etc/mysql/my.cnf pe Linux sau windows verifica acest răspunsul.
bind-address = 127.0.0.1
pentru a
bind-address = 0.0.0.0
Apoi restart mysql (pe Ubuntu serviciul mysql restart) pe windows, de obicei, serviciu restart thru Win+R servicii.msc
0.0.0.0 spune că pentru a lega la toate disponibile IP's, cu port, de asemenea, date de mine.cnf