GNU/Linux >> Znalost Linux >  >> Linux

Jak svázat MySQL server s více než jednou IP adresou?

Řešení 1:

Ne, není (zkontroloval jsem to před 1 hodinou). Adresu vazby můžete okomentovat v my.cnf:

Poznámka:«Před 1 hodinou» je nyní před více než 10 lety.

#skip-networking
#bind-address                   = 127.0.0.1

Pokud chcete pouze 2 IP adresy, budete muset použít firewall.

Pro MySql verze 8.0.13 a vyšší , můžete zadat seznam IP adres oddělených čárkami.

bind-address = 10.0.0.1,10.0.1.1,10.0.2.1

Příslušná dokumentace MySql.

Řešení 2:

Vazba na 127.0.0.x ji nezpřístupní všem zařízením, zpřístupní ji pouze lokálně. Pokud jej chcete zpřístupnit všem rozhraním, měli byste použít 0.0.0.0. Pokud k němu chcete přistupovat z více než jednoho, ale méně než ze všech rozhraní, měli byste se vázat na 0.0.0.0 a vypnout firewall na rozhraní, přes která nechcete být přístupná.

Jako druhou vrstvu zabezpečení byste se také měli ujistit, že všichni vaši uživatelé MySQL mají pole hostitele nastaveno na něco jiného než % (tj. libovolný hostitel).

Řešení 3:

Nemůžete se svázat s více než jednou IP adresou, ale můžete se místo toho svázat se všemi dostupnými IP adresami. Pokud ano, stačí použít 0.0.0.0 pro vazební adresu ve vašem konfiguračním souboru MySQL (např. /etc/mysql/my.cnf) takto:

bind-address    = 0.0.0.0

Pokud je adresa 0.0.0.0, server přijímá připojení TCP/IP na všech hostitelských rozhraních IPv4 serveru.

Navíc pokud je adresa :: server přijímá připojení TCP/IP na všech hostitelských serverových rozhraních IPv4 a IPv6. Tuto adresu použijte k povolení připojení IPv4 i IPv6 na všech rozhraních serveru.

Nebo můžete jednoduše zakomentovat bind-address= dohromady, takže se bude vázat na všechny adresy. Ujistěte se však, že nemáte skip-networking povoleno ve vašem my.cnf, pokud chcete povolit i vzdálená připojení (Přečtěte si více:MySQL:Povolit vzdálená I místní připojení).

Po změně adresy vazby nezapomeňte restartovat server MySQL pomocí:

sudo service mysql restart

Nakonec můžete zvážit spuštění více instancí MySQL na jednom počítači (různé porty) s replikací Master/Slave. Replikace umožňuje kopírování dat z jednoho databázového serveru MySQL (hlavního) na jeden nebo více databázových serverů MySQL (podřízených).

Přečtěte si více:

  • 5.3 Spouštění více instancí MySQL na jednom počítači na MySQL.com
  • Kapitola 17 Replikace na MySQL.com

Řešení 4:

Ne, nemůžeš. Stránka, na kterou odkazujete, jasně uvádí:

Adresa IP, na kterou se má navázat. Lze vybrat pouze jednu adresu. Pokud je tato volba zadána vícekrát, použije se poslední zadaná adresa.

Pokud není zadána žádná adresa nebo 0.0.0.0, server naslouchá na všech rozhraních.

Řešení 5:

Jak odpověděli jiní, zatím neexistuje způsob, jak se selektivně vázat na více než jedno rozhraní.

Linux má některé TCP nástroje, které to umožňují. V tomto nastavení byste nakonfigurovali mysql tak, aby naslouchal na 127.0.0.1 a poté pomocí rediru jej vystavil na libovolných rozhraních.

Používal jsem to, abych pomohl hostu virtuální schránky vidět mysql nainstalovaný na hostitelském počítači.

redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &

Linux
  1. Jak nainstalovat MySQL Server na CentOS 7

  2. Jak rozdělit terminál na více než jeden „pohled“?

  3. Jak nainstalovat MySQL na Ubuntu 16.04

  1. Jak nakonfigurovat databázi MySQL Slave

  2. Jak nakonfigurovat více serverů MySQL na jednom systému pomocí mysqld_multi

  3. Jak migrovat server DNS BIND na nový hardware?

  1. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  2. Jak nainstalovat MySQL Server na Debian 9

  3. Jak nainstalovat MySQL Server na Ubuntu 16.04