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:
En ese caso voy a editar el archivo con nano. El contenido es el siguiente:
[mysqld]
bind-address = 0.0.0.0
port = 3306
Como se ve en la imagen:
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:
CREATE USER 'parzibyte'@'%' IDENTIFIED BY 'hunter2';
FLUSH PRIVILEGES;
No olvides asignarle bases de datos, permisos de lectura, escritura y todo eso.
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.
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.
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.