Página 1 de 1

Permitir conexiones remotas en un servidor MySQL

Publicado: Lun Jun 03, 2019 4:50 pm
por Jaibol Santaella
Es normal que muchas veces necesitemos tener nuestra aplicación en un servidor y nuestra base de datos en otro servidor, sin embargo, esto muchas veces suele ser un problema ya que si no autorizamos al servidor de aplicaciones a conectarse con nuestra base de datos en el servidor de Bases de Datos nunca lograremos poner en marcha la publicación de la aplicación, que bien puede ser un CMS, un Sistema o una página web.

Para explicar rápidamente como hacerlo imaginaremos un ejemplo:

192.168.1.2 --- Servidor de aplicaciones (Apache2 o NGINX)
192.168.1.10 --- Servidor de Base de Datos

Paso 01
Ingresamos al servidor de base de datos y configuramos mysqld.conf

Nos aseguramos de tener estos valores en bind-address

Código: Seleccionar todo

 bind-address    = 0.0.0.0
En Mysql 5.5 y menor

Código: Seleccionar todo

  nano /etc/mysql/my.cnf
En Mysql 5.7 y posterior

Código: Seleccionar todo

  nano /etc/mysql/mysql.conf.d/mysqld.cnf

Paso 02

Reiniciamos mysql

Código: Seleccionar todo

 /etc/init.d/mysql restart
Ingresamos al servidor de Base de datos y como usuario root en un terminal escribimos

Código: Seleccionar todo

 GRANT ALL ON *.* TO 'usuario-mysql-BD'@'Ip-de-servidor-de-aplicaciones' IDENTIFIED BY 'clave-mysql';
Ejemplo:

Código: Seleccionar todo

 GRANT ALL ON myBD TO 'root'@'192.168.1.2' IDENTIFIED BY 'mypassword';
Donde:
root es el propietario de la Base de Datos
192.168.1.2 es el servidor de aplicaciones
MyBD es el nombre de la base de datos a la cual autorizaremos a ingresar desde el servidor de aplicaciones.
mypassword es la clave de mysql.