Por defecto, ya sea en una instalación limpia de mysql server o bien en algun hosting compartido, éste servidor de bases de datos relaccionales, viene ‘capado’ para que sólo pueda ser usado desde el propio host donde fue instalado.

Me ha llevado varias horas arreglarlo, pero por fin, con este sencillo tip, se pueden permitir conexiones desde cualquier otra IP:

sudo nano /etc/mysql/my.cnf
#localizamos la linea bind-address y ponemos la ip 0.0.0.0
bind-adress = 0.0.0.0
#reiniciamos el servidor mysql
sudo /etc/init.d/mysql restart

Ahora tenemos que dar permiso en la base de datos para poder hacer las consultas, para ello nos conectamos mediante el comando mysql a la base de datos desde el mismo servidor donde está instalada:

mysql -u root -p

y nos pedirá la contraseña para acceder.

Ahora creamos un usuario, y su con su contraseña:

CREATE USER 'walo'@'%' IDENTIFIED BY '1234';

Le otorgamos privilegios a todo en lodos los dominios/ip’s (@):

GRANT ALL PRIVILEGES ON *.* TO walo@'%' IDENTIFIED BY '1234';

Si queremos dárselo en localhost (solo para otro usuario que no sea root:

GRANT ALL PRIVILEGES ON *.* TO walo@localhost IDENTIFIED BY '1234';

Actualizamos todos los campos host con % para que deje conectarse desde cualquiera, para mi usuario:

USE mysql;
UPDATE db SET host='%' WHERE user='walo';

Creamos la base de datos prueba para trabajar con ella:

CREATE DATABASE prueba;
SHOW DATABASES;

Y ya podremos conectarnos remotamente desde otro ordenador al servidor mysql remotamente:

mysql -h IPDELSERVIDORMYSQL -u root -p

Ahora recomiendo trabajar con MySQL workbench, un complejo programa multiplataforma para monitorizar bases de datos remotas, que además viene con editor de consultas y permite crear diagramas E/R.

Si instaláis MySQL en una raspberry pi con archlinux, hace falta que creéis una partición swap desde consola, ya que de lo contrario, la raspberry se ahoga y no puede hacer consultas: https://wiki.archlinux.org/index.php/Swap#Swap_file_creation

Un saludo.