Cómo permitir el acceso remoto a una base de datos MySQL

Cómo permitir el acceso remoto a una base de datos MySQL

mysql permitir acceso remoto a base de datos servidor externo geeky theory servidor maquina virtual ubuntu mariadb 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!

Deja un comentario


14 comentarios


Jose · Hace 3 meses

Buenas tardes, Hay una manera de listar todos los usuarios que tienen acceso remoto? Gracias

JGGJ · Hace 5 meses

Excelente tutorial, muchas gracias !!

Dan Gil · Hace 6 meses

No me funcionó, Raspberry pi 3, hice lo contrario, comentar las lineas: #skip-external-locking # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 y agregar el usuario root@'%' a mysql y obtuve resultados positivos. Gracias!.

Domingo · Hace 6 meses

Excelente me funciono uuuuffffff

jose peña · Hace 11 meses

Buenas tardes escelente tenia dias tratando de conectarme remotamente y me rechazaba el servidor sencillo y efectivo. saludos cordiales

Jesús · Hace 1 año

Hola, en primer lugar gracias por el gran trabajo que haces... estoy siguiendo los paso del tutorial pero cuando llego a ingresar la orden en el terminal: mysql –u root -p me aparece la consola de mysql, pero no se donde ni como introducir las siguientes instrucciones que detallas para dar privilegios al usuario: FLUSH PRIVILEGES;GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; Aluna sugerencia? Gracias!!!

Carlos Vindas · Hace 1 año

Amigos soy "totalmente nuevo" en esto; mi esposa es maestra de escuela y estan utilizando una aplicacion que por lo que voy viendo es SQL ya que instalaron "Internet Information Services" e ingresan con "login.aspx". Yo quise ayudar un poco porque quieren ingresar por internet y ya logre ver una pagina en wwwroot pero no se como accesar a la aplicacion; si me pueden ayudar seria magnifico y se los agradeceria, repito estoy desde cero en esto de MySQL

Javier Barrera · Hace 9 meses

Mira Carlos, si están usando IIS, lo más seguro es qu estén usando SQL Server, El acceso a la aplicación si depende de como esté configurada y desarrollada. Saludos.

GM Solution · Hace 1 año

Falto indicar que estoy trabajando con Windows

GM Solution · Hace 1 año

Buenas noches, Estimados por favor necesito de un poco de ayuda, yo trabajaba antes con MySQL version 5.0.19 y esta versión me permitia accesos remotos, es decir que me podia comunicar desde mi laptop al servidor y hacer modificaciones en tablas y otras cosas más. Pero ahora que estoy instalando en el servidor la versión MySQL 5.6.21.1 no me permite acceso remoto y ya he realizado todo lo que puedo encontrar pero no puedo solucionarlo. Por favor alguien que me pueda ayudar.

JHON · Hace 2 años

Excelente hermano. estaba como loco tratando de conectar mi aplicacion .net con mysql de la raspberry pi, con estos pasos lo logre. Mil gracias

Enrique A. · Hace 2 años

buen tutorial!...una consulta, instale ubuntu server 15.04 con LAMP y quiero darle acceso remoto al mysql como lo hiciste tu pero al abrir /etc/mysql/my.cnf no tiene casi nada..como hago para encontrar esa configuracion?. Desde ya gracias!

JGGJ · Hace 5 meses

Debes ingresar a esta ruta: /etc/mysql/mysql.conf.d/mysqld.cnf

Juan Pablo Jaramillo Pineda · Hace 2 años

Hola, Es un buen dato, pero sería bueno también comentar las implicaciones que tiene realizar esto, no es solamente poner a escuchar públicamente el servicio MySQL, en mi humilde opinión sería mejor no hacerlo. Otra opción más acertada sería conectarse remotamente a MySQL realizando primero el pivote vía SSH, esto se puede hacer por ejemplo con MySQL Workbench. Saludos.

Mario Pérez Esteso · Hace 2 años

Hola Juan Pablo. Sí, otra opción es hacerlo por SSH. Solo permito acceso remoto cuando estoy desarrollando. Nunca en el servidor en producción, ya que es poco seguro. Un saludo.

Hugo Lizama · Hace 2 años

Ah muy buen dato, siempre lo he usado en local así que lo vamos a probar.

David Lara Rosa · Hace 2 años

Muy acertado post. Estoy haciendo mis primeros "pinitos" en java, ayudado también por vuestros tutoriales, y sería genial que siguiérais ampliando este tema (permisos limitados, según usuario, ...). Gracias de nuevo.