¿Cómo habilitar el acceso remoto a MySQL o MariaDB?

Supervisor
Supervisor
  • Actualización

Para un mayor resguardo de la seguridad de tu información, el acceso remoto a bases de datos MySQL o MariaDB se encuentra desactivado por defecto.

Para poder conectarte remotamente a una BD en tu Cloud Server debes realizar estos simples pasos:

  1. Habilitar el puerto 3306 en el firewall de tu Cloud Server
  2. Ingresar al servidor MySQL
  3. Conceder permisos
  4. Refrescar privilegios
  5. Salir de MySQL
  6. Modificar el archivo de configuración de MySQL
  7. Reiniciar MySQL

Habilitar la conexión remota a Bases de Datos MySQL o MariaDB.

1. Habilitar el puerto 3306 en el firewall

  • Ingresa a tu Cuenta DonWeb y haz clic en "Mis servicios" > “Cloud & IaaS” > "Gestionar".

    399.png

  • Ahora, haz clic en el apartado "Firewall" y verifica si existe una regla creada con el puerto 3306. Si no encuentras una, deberás crearla presionando el botón "Agregar regla" y siguiendo los pasos a continuación:

    400.png
  • Se abrirá un recuadro donde debes completar la IP, luego presiona el botón "Agregar".

    🚨Si desconoces cuáles son las IPs desde las cuales tu (o tu aplicación) se conectarán al servidor MySQL / MariaDB, utiliza 0.0.0.0/0. Así permitirás que cualquier IP pueda conectarse. Sin embargo, te recomendamos crear reglas con las IPs (o rango de IP’s) específicas para brindarle mayor seguridad a tus bases de datos.



  • ¡Listo! Has habilitado el puerto para la conexión remota.

2. Ingresar al servidor MySQL o MariaDB

Primero, debes ingresar a tu servidor mediante SSH y allí acceder a MySQL o MariaDB como root. Para esto, una vez abierta la terminal, escribe el siguiente comando:
  • mysql -u root -p
  • mariadb -u root -p
  • A continuación, se te pedirá que ingreses la contraseña del usuario root.

3. Conceder permisos

Una vez que hayas ingresado a MySQL o MariaDB, puedes otorgar permisos a un usuario existente o a uno nuevo para que pueda acceder a la base de datos desde cualquier host. Para ello utiliza el comando:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myusername'@'%' IDENTIFIED BY 'mypassword
En este comando, debes reemplazar mydatabase por el nombre de tu base de datos, myusername por el nombre de usuario y mypassword por la contraseña de ese usuario.

4. Refrescar privilegios

Después de cambiar los permisos, debes indicar a MySQL que recargue los privilegios:
FLUSH PRIVILEGES;

5. Salir de MySQL o MariaDB

Por último, sal de MySQL o MariaDB con el comando:
exit; 

6. Modificar el archivo de configuración de MySQL o Maria DB

Ahora deberás modificar el archivo de configuración para permitir a una IP (o a un rango de IPs) acceder a MySQL o MariaDB:
  • nano /etc/mysql/mysql.conf.d/mysqld.cnf
    En la línea donde se encuentra el parámetro bind-address, cambia su valor a 0.0.0.0

    401.png
     
     
     
  • nano /etc/mysql/mariadb.conf.d/50-server.cnf
    En la línea donde se encuentra el parámetro bind-address, cambia su valor a 0.0.0.0

    402.png
     

Si desconoces cuáles son las IPs desde las cuales tú (o tu aplicación) se conectarán al servidor MySQL / MariaDB, utiliza 0.0.0.0/0. Así permitirás que cualquier IP pueda conectarse. Sin embargo, te recomendamos crear reglas con las IPs específicas para brindarle mayor seguridad a tus bases de datos.

7. Reiniciar MySQL o MariaDB

Por último, guarda y cierra el archivo y reinicia el servicio de MySQL o MariaDB para que los cambios tengan efecto:

  • systemctl restart mysql
  • systemctl restart mariadb

¡Listo! Ahora resta comprobar que puedes acceder desde un cliente remoto.

Consideraciones de seguridad

Recuerda que permitir el acceso remoto puede tener implicaciones de seguridad, por lo que debería considerar medidas adicionales para proteger su servidor:

  • Habilitar el puerto 3306 en el Firewall solo para tu IP (si es que posees IP Fija)
  • No habilitar el acceso remoto para el usuario root.
  • Crear usuarios con nombres poco comunes para el acceso remoto (evitar usar root, admin, db_admin, etc).
  • Utilizar contraseñas fuertes en cada usuario remoto que se cree.
  • Auditar periódicamente los usuarios creados, las contraseñas utilizadas y los permisos concedidos.

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 1 de 1

¿Tiene más preguntas? Enviar una solicitud