En este articulo vamos a realizar una conexión a una base de datos mysql de otro servidor. Para ello usaremos un alojamiento web con php y mysql con el que vamos hacer la consulta y un servidor doméstico con lamp en ubuntu server.

En nuestro servidor doméstico editaremos el archivo de configuración de mysql:
Accedemos al archivo de configuración con nano:
sudo nano  /etc/mysql/mysql.conf.d/mysqld.cnf

Cambiaremos la siguiente linea:
bind-address = 127.0.0.1

por esta:
bind-address = 0.0.0.0

El siguiente paso es abrir el puerto 3306 del router con el que podremos establecer la conexión con la base de datos, y luego accederemos al alojamiento web con el que vamos a realizar la conexión remota, y crearemos el fichero php para conectarnos a la base de datos:

conexion.php

//CONEXION BASE DE DATOS
$n_server="ipServidorRemoto:3306";
$n_database="NombreBaseDatos";
$n_username="NombreUsuarioBaseDatos";
$n_userpass="ContraseñaBaseDatos";

$db = mysqli_connect($n_server,$n_username,$n_userpass,$n_database) or die ("Error al conectar con el servidor");

if (!$db) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

con esto deberiamos hacer la conexión sin ningún problema, pero si no podemos realizar la conexión deberemos de revisar el fichero:

/etc/host.allow

y añadir:

mysqld : ALL