Permitir conexiones remotas en un servidor MySQL
Publicado: Lun Jun 03, 2019 4:50 pm
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
En Mysql 5.5 y menor
En Mysql 5.7 y posterior
Paso 02
Reiniciamos mysql
Ingresamos al servidor de Base de datos y como usuario root en un terminal escribimos
Ejemplo:
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.
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
Código: Seleccionar todo
nano /etc/mysql/my.cnf
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
Código: Seleccionar todo
GRANT ALL ON *.* TO 'usuario-mysql-BD'@'Ip-de-servidor-de-aplicaciones' IDENTIFIED BY 'clave-mysql';
Código: Seleccionar todo
GRANT ALL ON myBD TO 'root'@'192.168.1.2' IDENTIFIED BY 'mypassword';
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.