Cómo permitir el acceso remoto a una base de datos MySQL
Cuando desarrollo código relacionado con páginas o aplicaciones web, siempre utilizo máquinas virtuales con una configuración exactamente igual que la que tendrá el servidor donde dicha página será alojada. Por otra parte, casi en todos los casos necesito acceso a bases de datos que se encuentren dentro de la máquina virtual, pero MySQL no está configurado por defecto para permitir conexiones remotas. Debido a esto, hay que modificar algunos parámetros de configuración de MySQL, así como dar permisos a un determinado usuario para que pueda acceder.
Paso 1
Modificar el archivo de configuración de MySQL: sudo nano /etc/mysql/my.cnf Buscaremos las siguientes líneas y se descomentarán en caso de estar comentadas:
- skip-external-locking
- bind-address = 127.0.0.1
La IP que le vamos a dar a bind-address será 0.0.0.0. En caso de que tengáis una IP específica a la que queráis dar acceso, simplemente ponedla.
Paso 2
En este paso se reiniciará el servicio de MySQL para que se apliquen los cambios: sudo service mysql restart
Paso 3
Hay que dar permisos específicos de acceso al usuario de la base de datos. Yo para desarrollo siempre utilizo usuario root y contraseña root, pero cada uno que ponga el suyo. Antes de nada, hay que entrar a la consola de MySQL: mysql –u root -p Tras esto, se le dan los privilegios al usuario en cuestión. En este caso root: GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; Gracias a estos sencillos pasos, ya tendremos acceso remoto a la base de datos de un servidor o máquina virtual en la que estemos desarrollando. ¡Saludos!