Introducción
En la implementación tradicional, las personas a menudo instalan el servidor MySQL y lo usan desde el mismo host. Sin embargo, es muy recomendable que separemos el servidor MySQL y el cliente, se debe acceder al servidor MySQL desde un host remoto. Este método ayuda a que el sistema sea más seguro y aumenta el rendimiento.
Para hacer posible el método anterior, tenemos que configurar el servidor MySQL para permitir la conexión remota desde su cliente.
Configurar el servidor MySQL
En primer lugar, configuremos el servidor MySQL para escuchar en una IP predefinida o en todas las direcciones IP de su servidor.
Si el servidor MySQL está en la misma red que los clientes, debe configurar el puerto de escucha en la IP privada.
Por otro lado, si necesita conectarse al servidor MySQL a través de una red pública, configuremos el servidor siguiendo la siguiente configuración:
Abra el archivo de configuración:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Vaya a la línea que comienza con bind-address
De forma predeterminada, el valor de bind-address es 127.0.0.1
Si desea configurar el servidor MySQL para escuchar en todas las direcciones IP, configure el valor de bind-address =0.0.0.0
Para que el cambio tenga efecto, reiniciemos el servicio MySQL:
$ sudo systemctl restart mysql
Otorgar acceso a un usuario desde hosts remotos
En esta parte, le mostraremos la forma de permitir el acceso a una base de datos a usuarios remotos.
Inicie sesión en el servidor MySQL:
$ sudo mysql
Entonces,
mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;
Por ejemplo:
mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;
Configurar cortafuegos
El servidor MySQL escucha en el puerto 3306. Debe abrir este puerto para permitir el tráfico desde los hosts remotos. Puede usar uno de estos métodos a continuación:
iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
ufw
Si usa ufw para abrir el puerto 3306, simplemente puede ejecutar el siguiente comando:
$ sudo ufw allow 3306/tcp
Conclusión
Ya revisó los detalles sobre cómo permitir conexiones remotas a un servidor MySQL.
Si tiene alguna inquietud, hágamelo saber. Gracias por leer.