Configurar servidor de MySQL o MariaDB en Android para permitir conexiones remotas

Publicado por parzibyte en

Conectar a servidor de MySQL sobre Android

Ya estamos aquí con otro tutorial de MySQL con Android usando Termux. En este post veremos cómo permitir conexiones remotas a nuestro dispositivo Android, de esta manera podremos usarlo como servidor de base de datos.

No es nada difícil, solamente asegúrate de saber cómo instalar el servidor, así como iniciarlo y detenerlo; cosa que se explica detalladamente en: Instalar MariaDB en Android con Termux.

Una vez sabiendo eso, comencemos.

Nota: Antes de continuar debes detener el servidor de MySQL.

Configurar archivo my.cnf

Existe una carpeta que se llama my.cnf.d cuyo contenido es cargado y leído por el demonio de mysql; por lo tanto, si ponemos ahí un archivo my.cnf con las configuraciones necesarias será leído.

En resumen, dirígete a la carpeta y crea un archivo llamado my.cnf con el contenido que veremos más tarde.

La ruta de esta carpeta es:

/data/data/com.termux/files/usr/etc/my.cnf.d

Puedes navegar a ella con:

cd /data/data/com.termux/files/usr/etc/my.cnf.d

O navegar a HOME, ir un directorio arriba y luego a /usr/etc/my.cnf.d como se ve en la imagen:

Navegar hasta carpeta de configuración de mysql

Navegar hasta carpeta de configuración de mysql

En ese caso voy a editar el archivo con nano. El contenido es el siguiente:

Como se ve en la imagen:

Contenido de my cnf

Contenido de my cnf

Lo que hacemos es indicar el puerto en donde escucha el servidor, así como la dirección, que en este caso permitirá cualquier host.

Después de escribirlo guarda cambios. Si usas nano entonces presiona CTRL + O, luego Enter y finalmente CTRL + X.

Una vez que hayas terminado de crear el archivo, inicia el servidor de mysql con mysqld_safe -u root & y después abre una nueva sesión de mysql con mysql -u root -p.

Crear usuario remoto

Ahora es momento de crear un usuario que se pueda conectar de manera remota; así separamos usuarios y aseguramos un poco nuestro servidor, evitando que salgan errores de hosts no permitidos.

Para ello simplemente crea un usuario y recarga los privilegios:

No olvides asignarle bases de datos, permisos de lectura, escritura y todo eso.

Crear usuario remoto

Crear usuario remoto

Recargar privilegios

Recargar privilegios

Ahora sí podemos conectarnos a nuestro Android desde otro sistema operativo cliente.

Conectar cliente de MySQL a servidor de Android

Debes saber la IP que tiene tu dispositivo Android; puedes ir a Ajustes y buscarla o en Termux ejecutar:

ifconfig

Eso dará una gran salida, pero tu IP es la que está en wlan0 con inet addr.

Averiguar ip

Averiguar ip

En mi caso la IP de mi dispositivo es 192.168.1.250.

Si no sabes usar la cli de MySQL mira este tutorial. Abre una nueva sesión en otro lugar y ejecuta:

mysql -h 192.1678.1.250 -u parzibyte -p

Ahí estamos especificando la dirección del servidor, el usuario que creamos anteriormente y la opción para que pregunte la contraseña. Recuerda cambiar los parámetros de acuerdo a tu condición.

Conectar a servidor de MySQL sobre Android

Conectar a servidor de MySQL sobre Android

Como se ve en la imagen, me he conectado de manera exitosa a mi servidor de MySQL en Android.

Conclusión

De esta manera podemos conectarnos desde cualquier cliente a nuestro servidor de MySQL corriendo sobre Android. Mira este tutorial para que el servidor inicie cuando el teléfono encienda o mira este otro en donde conectamos a MySQL con PHP desde Android.

Recuerda que modificando tu router podrías exponer incluso la IP de tu dispositivo a internet y conectarte desde cualquier parte del mundo.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: