GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo vincular el servidor MySQL a más de una dirección IP?

Solución 1:

No, no lo hay (lo acabo de comprobar hace 1 hora). Puede comentar la dirección de enlace en my.cnf:

Nota:"hace 1 hora" es ahora hace más de 10 años.

#skip-networking
#bind-address                   = 127.0.0.1

Si desea solo 2 IP, deberá usar un firewall.

Para MySql versión 8.0.13 y superior , puede especificar una lista de direcciones IP separadas por comas.

bind-address = 10.0.0.1,10.0.1.1,10.0.2.1

Documentación relevante de MySql.

Solución 2:

La vinculación a 127.0.0.x no hará que esté disponible para todos los dispositivos, solo estará disponible localmente. Si desea que esté disponible para todas las interfaces, debe usar 0.0.0.0. Si desea acceder a él desde más de una, pero menos de todas las interfaces, debe enlazar a 0.0.0.0 y bloquear las interfaces a través de las cuales no desea acceder.

Además, como una segunda capa de seguridad, debe asegurarse de que todos sus usuarios de MySQL tengan el campo de host configurado en algo que no sea % (es decir, cualquier host).

Solución 3:

No puede enlazar a más de una dirección IP, pero puede enlazar a todas las direcciones IP disponibles en su lugar. Si es así, simplemente use 0.0.0.0 para una dirección vinculante en su archivo de configuración de MySQL (por ejemplo, /etc/mysql/my.cnf) de la siguiente manera:

bind-address    = 0.0.0.0

Si la dirección es 0.0.0.0, el servidor acepta conexiones TCP/IP en todas las interfaces IPv4 del host del servidor.

Además, si la dirección es :: , el servidor acepta conexiones TCP/IP en todas las interfaces IPv4 e IPv6 del host del servidor. Utilice esta dirección para permitir conexiones IPv4 e IPv6 en todas las interfaces del servidor.

O simplemente puede comentar bind-address= en conjunto, por lo que se vinculará a todas las direcciones. Pero asegúrate de no tener skip-networking habilitado en su my.cnf si también desea permitir conexiones remotas (Leer más:MySQL:Permitir conexiones tanto remotas como locales).

Después de cambiar la dirección de enlace, no olvide reiniciar su servidor MySQL:

sudo service mysql restart

Eventualmente, puede considerar ejecutar múltiples instancias de MySQL en una sola máquina (diferentes puertos) con replicación Maestro/Esclavo. La replicación permite que los datos de un servidor de base de datos MySQL (el maestro) se copien en uno o más servidores de base de datos MySQL (los esclavos).

Leer más:

  • 5.3 Ejecución de múltiples instancias de MySQL en una máquina en MySQL.com
  • Capítulo 17 Replicación en MySQL.com

Solución 4:

No, no puedes. La página a la que se vincula establece claramente:

La dirección IP a la que enlazar. Solo se puede seleccionar una dirección. Si esta opción se especifica varias veces, se utiliza la última dirección proporcionada.

Si no se especifica ninguna dirección o 0.0.0.0, el servidor escucha en todas las interfaces.

Solución 5:

Como han respondido otros, todavía no hay una forma de enlazar selectivamente a más de una interfaz.

Linux tiene algunas herramientas TCP que lo hacen posible. En esta configuración, configuraría mysql para escuchar en 127.0.0.1 y luego usaría redir para exponerlo en interfaces arbitrarias.

He estado usando esto para ayudar a un invitado de caja virtual a ver mysql instalado en la máquina host.

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

Linux
  1. Cómo instalar el servidor MySQL en CentOS 7

  2. ¿Cómo dividir la terminal en más de una "vista"?

  3. Cómo permitir la conexión remota al servidor de base de datos MySQL

  4. Cómo configurar múltiples servidores MySQL en un sistema usando mysqld_multi

  5. ¿Cómo migrar un servidor BIND DNS a un nuevo hardware?

Cómo instalar MySQL 8.0 en Ubuntu 18.04

Cómo instalar MySQL 8 en CentOS 8

Cómo instalar el servidor MySQL en Ubuntu

Cómo instalar LAMP en un servidor Ubuntu 15.04

¿Cómo configurar la replicación maestro-esclavo de MySQL en RHEL 7?

Cómo instalar el servidor MySQL en Ubuntu 20.04