Lösung 1:
Nein, gibt es nicht (ich habe gerade vor 1 Stunde nachgesehen). Sie können die Bind-Adresse in my.cnf kommentieren:
Hinweis:„Vor 1 Stunde“ ist jetzt mehr als 10 Jahre her.
#skip-networking
#bind-address = 127.0.0.1
Wenn Sie nur 2 IPs möchten, müssen Sie eine Firewall verwenden.
Für MySQL-Version 8.0.13 und höher , können Sie eine Liste von durch Kommas getrennten IP-Adressen angeben.
bind-address = 10.0.0.1,10.0.1.1,10.0.2.1
Relevante MySQL-Dokumentation.
Lösung 2:
Die Bindung an 127.0.0.x macht es nicht für alle Geräte verfügbar, sondern nur lokal. Wenn Sie es allen Schnittstellen zur Verfügung stellen möchten, sollten Sie 0.0.0.0 verwenden. Wenn Sie von mehr als einer, aber weniger als allen Schnittstellen darauf zugreifen möchten, sollten Sie sich an 0.0.0.0 binden und die Schnittstellen abschalten, über die Sie nicht zugreifen möchten.
Als zweite Sicherheitsebene sollten Sie außerdem sicherstellen, dass alle Ihre MySQL-Benutzer das Host-Feld auf etwas anderes als % (dh irgendeinen Host) eingestellt haben.
Lösung 3:
Sie können nicht an mehr als eine IP-Adresse binden, aber Sie können stattdessen an alle verfügbaren IP-Adressen binden. Dann verwenden Sie einfach 0.0.0.0
für eine Bindungsadresse in Ihrer MySQL-Konfigurationsdatei (z. B. /etc/mysql/my.cnf) wie folgt:
bind-address = 0.0.0.0
Wenn die Adresse 0.0.0.0 ist, akzeptiert der Server TCP/IP-Verbindungen auf allen IPv4-Schnittstellen des Serverhosts.
Außerdem, wenn die Adresse ::
ist , akzeptiert der Server TCP/IP-Verbindungen auf allen IPv4- und IPv6-Schnittstellen des Serverhosts. Verwenden Sie diese Adresse, um sowohl IPv4- als auch IPv6-Verbindungen auf allen Serverschnittstellen zuzulassen.
Oder Sie können einfach bind-address=
auskommentieren insgesamt, sodass es an alle Adressen gebunden wird. Stellen Sie jedoch sicher, dass Sie skip-networking
nicht haben in Ihrer my.cnf aktiviert, wenn Sie auch entfernte Verbindungen zulassen möchten (Weiterlesen:MySQL:Sowohl entfernte als auch lokale Verbindungen zulassen).
Vergessen Sie nach dem Ändern der Bindungsadresse nicht, Ihren MySQL-Server neu zu starten, indem Sie:
sudo service mysql restart
Schließlich können Sie erwägen, mehrere Instanzen von MySQL auf einem einzigen Computer (verschiedene Ports) mit Master/Slave-Replikation auszuführen. Die Replikation ermöglicht das Kopieren von Daten von einem MySQL-Datenbankserver (dem Master) auf einen oder mehrere MySQL-Datenbankserver (die Slaves).
Weiterlesen:
- 5.3 Ausführen mehrerer MySQL-Instanzen auf einem Computer bei MySQL.com
- Kapitel 17 Replikation auf MySQL.com
Lösung 4:
Nein, du kannst nicht. Auf der Seite, auf die Sie verlinken, steht eindeutig:
Die zu bindende IP-Adresse. Es kann nur eine Adresse ausgewählt werden. Wird diese Option mehrfach angegeben, wird die zuletzt angegebene Adresse verwendet.
Wenn keine Adresse oder 0.0.0.0 angegeben ist, lauscht der Server auf allen Schnittstellen.
Lösung 5:
Wie andere geantwortet haben, gibt es noch keine Möglichkeit, selektiv an mehr als eine Schnittstelle zu binden.
Linux hat einige TCP-Tools, die dies ermöglichen. In diesem Setup würden Sie mysql so konfigurieren, dass es auf 127.0.0.1 lauscht und dann redir verwenden, um es auf beliebigen Schnittstellen verfügbar zu machen.
Ich habe dies verwendet, um einem Virtual-Box-Gast zu helfen, mysql zu sehen, das auf dem Host-Rechner installiert ist.
redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &