¿Existe una forma secreta de vincular MySQL a más de una dirección IP?
Por lo que veo el parámetro bind-address en el my.cnf no soporta más de una IP y no se puede' tener más de una.
El enlace a 127.0.0.x no lo hará disponible para todos los dispositivos, lo hará disponible sólo localmente. Si desea que esté disponible para todas las interfaces, debe utilizar 0.0.0.0. Si desea acceder desde más de una, pero menos de todas las interfaces, debe enlazar a 0.0.0.0 y desactivar las interfaces a las que no desea que se acceda.
Además, como segunda capa de seguridad, debería asegurarse de que todos sus usuarios de MySQL tienen el campo host configurado a algo distinto de % (es decir, cualquier host).
No se puede vincular a más de una dirección IP, pero sí a todas las direcciones IP disponibles.
Si es así, sólo usa 0.0.0.0
para una dirección de enlace en tu 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 servidor.
Además, si la dirección es ::
, el servidor acepta conexiones TCP/IP en todas las interfaces IPv4 e IPv6 del servidor.
Use esta dirección para permitir tanto las conexiones IPv4 como las IPv6 en todas las interfaces del servidor.
O simplemente puede comentar bind-address=
en conjunto, para que se enlace con todas las direcciones.
Pero asegúrate de que no tienes habilitado el "skip-networking" en tu my.cnf si quieres permitir conexiones remotas también (Leer más:
[MySQL:
Permitir tanto conexiones remotas como locales][1]).
Después de cambiar la dirección de enlace, no olvides reiniciar tu servidor MySQL por:
sudo service mysql restart
Eventualmente puedes 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 a uno o más servidores de base de datos MySQL (los esclavos).
Más información:
[1]: https://serverfault.com/questions/171655/mysql-allow-both-remote-and-local-connections [2]: http://dev.mysql.com/doc/refman/5.7/en/multiple-servers.html [3]: http://dev.mysql.com/doc/refman/5.7/en/replication.html
No, no puede. La página a la que enlaza dice claramente:
...que..; La dirección IP a la que se enlaza. Sólo se puede seleccionar una dirección. Si se especifica esta opción varias veces, se utiliza la última dirección indicada.
La dirección de la página web; Si no se especifica ninguna dirección o 0.0.0.0, el servidor escucha en todas las interfaces.
Como otros han respondido, no hay todavía una manera de unirse selectivamente a más de una interfaz.
Linux tiene algunas herramientas TCP que lo hacen posible. En esta configuración, usted'd configura mysql para que escuche en 127.0.0.1 y luego usa [redir][1] para exponerlo en interfaces arbitrarias.
Yo'he estado usando esto para ayudar a un huésped del buzón virtual a ver mysql instalado en la máquina anfitriona.
redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &
...y la de los demás; Antes de MySQL 8.0.13, --bind-address acepta un único valor de dirección, ...y la de los demás; que puede especificar una única dirección IP o nombre de host que no sea de tarjeta de memoria, o ...y la de los demás; uno de los formatos de direcciones comodines que permiten la escucha en múltiples ...y la de los demás; interfaces de red (, 0.0.0.0, o ::). ...y la de los niños..; ...y la de los niños; A partir de MySQL 8.0.13, --bind-address acepta un único valor como sólo ...y la de los demás; descrito, o una lista de valores separados por comas. Cuando la opción nombra ...y la de los demás; una lista de valores múltiples, cada valor debe especificar un único ...y la de los demás; dirección IP o nombre de host que no sea de tarjeta de memoria; ninguno puede especificar un comodín ...y la de los demás; formato de dirección (, 0.0.0.0, o ::).
Fuente: https://dev.mysql.com/doc/refman/8.0/en/server-options.html
En mi.cnf cambiar (normalmente /etc/mysql/my.cnf en Linux o para windows compruebe [esta][1] respuesta.
bind-address = 127.0.0.1
a
bind-address = 0.0.0.0
[1]: https://stackoverflow.com/questions/1712646/i-can-not-find-my-cnf-on-my-windows-computer
Luego reiniciar mysql (en Ubuntu servicio de reinicio de mysql) en windows usualmente el servicio de reinicio a través de Win+R services.msc
0.0.0.0 le dice que se vincule a todas las IP's disponibles con el puerto también dado en my.cnf