Instalar MySQL (MariaDB) en Android con Termux

5 - Insertar datos y probar base de datos

Instalar MySQL en Android

Los dispositivos móviles de Android no están diseñados para ser servidores (aunque algunos son potentes), sin embargo siempre es interesante ver cómo la tecnología avanza y día con día podemos hacer más cosas con nuestros teléfonos.

Hoy veremos cómo instalar el servidor de MySQL o MariaDB en Android, gracias a la aplicación de Termux. Para ello basta ejecutar unos simples comandos y listo, tendremos un servidor de base de datos de MySQL en nuestro Android; completamente funcional y listo para ejecutar consultas.

Si queremos ponerlo para producción, podemos hacerlo siempre y cuando configuremos la seguridad. En fin, no veremos temas más avanzados; sólo veremos cómo instalar mysql en Android.

Aquí usaremos MariaDB y MySQL como sinónimos; es decir, si ves que digo MariaDB no te confundas, me refiero a MySQL; y viceversa. Sé que realmente hay más diferencias sobre todo con las licencias, pero eso es otro tema y puedes buscarlo en Google si lo deseas.

Nota: haz click aquí si quieres ver cómo instalar MySQL en Windows 10.

Requisitos

Mientras puedas instalar Termux todo está bien, no hace falta que tu dispositivo esté rooteado. Me parece que esta APK funciona a partir de Android 6. Mira cómo se instala, configura y descarga aquí.

Una vez que la tengas ahora sí vamos allá.

Actualizar paquetes para instalar mysql

En tu aplicación de Termux ejecuta:

apt update

Y luego:

apt upgrade

En ambos casos, si te pregunta elige que sí, o sea, pon la letra y. Este paso es muy importante porque actualizará las librerías que son necesarias para instalar mysql en nuestro dispositivo móvil.

Instalar MariaDB en Android usando Termux

Muy bien, una vez que tienes tu sistema actualizado vamos a instalar el paquete de MariaDB. Para ello ejecuta:

pkg install mariadb

Si te pregunta, acepta todo escribiendo la letra y. Puede tardar un poco, depende de tu dispositivo así que sé paciente.

1 - Instalar el paquete de mariadb en Android usando termux

1 – Instalar el paquete de mariadb en Android usando termux

Listo, ya lo has instalado. Ahora aquí viene una pequeña nota.

Requerido en algunos casos: crear directorio de mysql

Al menos en mi caso la instalación fallaba debido a que no existía un directorio llamado my.cnf.d (muy parecido al archivo de configuración de MySQL pero no era el caso).

Entonces ese directorio se tiene que crear. Si navegas a la ubicación que te diré y ya existe, no hagas nada y regresa a $HOME. En caso de que no, entonces lo creas.

La carpeta que vamos a crear debe estar ubicada en /data/data/com.termux.files/usr/etc (si en tu caso cambia, solamente te digo que navegues un directorio arriba de $HOME y verás una llamada usr). Naveguemos hasta ahí con:

cd /data/data/com.termux.files/usr/etc

Luego lista el contenido con:

ls

Y si no aparece la carpeta llamada my.cnf.d hay que crearla con:

mkdir my.cnf.d

Listo. Aquí una imagen de su creación:

2 - Crear directorio si no existe

2 – Crear directorio si no existe

Como vemos, en el paso 1 listo el contenido y no existe el directorio, así que con mkdir creo la carpeta.

Configurar MariaDB en Android

Una vez que ya creamos el directorio en caso de que no existiera, ejecutamos este comando:

mysql_install_db

Esperamos a que se complete, con eso instalamos y creamos los directorios de MariaDB (creo que el paso anterior, en donde creamos el directorio, es hecho automáticamente por este instalador pero bueno ya lo hicimos).

Después de eso lo que tenemos que hacer es iniciar el demonio de MySQL (esto también lo debemos hacer si reiniciamos el teléfono). Para ello ejecuta:

mysqld_safe -u root &

Lo que hacemos es ejecutar mysqld_safe con el usuario root; el ampersand & es para correrlo en segundo plano. Más abajo dejaré un link para que aprendas a loguearte con contraseña y esas cosas.

Ejecútalo y presiona Enter. Así se ve en mi caso:

3 - Iniciar demonio de mysql en segundo plano

3 – Iniciar demonio de mysql en segundo plano

Ya casi terminamos.

Probar MariaDB (MySQL) en Android con Termux

Ahora que ya hemos iniciado el demonio, es hora de conectarnos desde el cliente. Para ello ejecuta:

mysql -u root

Si no entiendes bien o quieres más sobre el tema, al final dejaré un link a un post con los comandos básicos. Eso debió mostrarte algo así:

4 - Iniciar cliente de MySQL en Android con Termux

4 – Iniciar cliente de MySQL en Android con Termux

Si no, asegúrate de haber iniciado bien el demonio.

Crear base de datos, tabla e insertar datos

Para que se vea bonito y para comprobar que esto sirve vamos a insertar algunos datos en nuestro servidor…

5 - Insertar datos y probar base de datos

5 – Insertar datos y probar base de datos

Detener proceso de MySQL/MariaDB

Si quieres detener el proceso busca el ID de aquello que tenga la palabra “mysql” usando ps con grep; y luego mátalos usando kill -9 [ID], el -9 es para enviar la KILL SIGNAL.

Te lo explico con imágenes. Para buscar los ID de proceso ejecuta:

ps aux | grep mysql

Estamos pasando la salida de ps por una tubería hacia grep para que busque los que tengan mysql dentro.

Listar procesos de MySQL MariaDB en Android

Listar procesos de MySQL MariaDB en Android

Si te fijas son dos procesos con ID 15406 y 15488; el tercero (15706) es el de grep; ese no lo tomamos en cuenta. Recuerda que en tu caso esto va cambiar ya que el ID de proceso nunca es el mismo.

Cuando tengamos los procesos los matamos:

kill -9 15406

kill -9 15488

Si después listamos los procesos de nuevo ya no aparecen.

Detener servidor de MySQL

Detener servidor de MySQL

Para volver a iniciar el servidor ejecuta de nuevo los pasos que se mencionan antes de este apartado.

Opcional pero recomendado: asegurar MySQL

La instalación de MySQL ya funciona correctamente, y si solamente vamos a jugar con ella entonces no nos debe importar la seguridad. Pero en cambio, si quieres asegurarlo por costumbre o por buenas prácticas puedes hacerlo.

Para ello, ejecuta:

mysql_secure_installation

Lo cual te dará un asistente que te ayudará a asegurar tu instalación de MySQL: poner una contraseña, quitar privilegios de prueba, entre otros.

Notas y conclusiones

Ya tienes un servidor de MySQL instalado en tu Android. Es hora de probar algunos comandos básicos de este motor de bases de datos.

Por cierto, si reinicias tu teléfono el servidor se detendrá, basta con que vuelvas a ejecutar el demonio como vimos allá arriba.

12 pensamientos sobre “Instalar MySQL (MariaDB) en Android con Termux”

  1. Gracias he seguido tu tutorial y todo a funcionado perfectamente. Me Gustaria saber si sabes como instalar phpMyAdmin en mi android, despues de tener todas estas herramientas estaria de lujazo tener tambien el gestor grafico 100% funcional en mi tableta con android. De antemano agradezco tu respuesta !! Saludos.!!

    1. Hola, buen día. Me parece que sí se puede, espero poder escribir el tutorial muy pronto; mientras tanto te invito a que me sigas en mis redes sociales y te suscribas a mi canal de YouTube
      Saludos

  2. Pingback: Configurar servidor de MySQL o MariaDB en Android para permitir conexiones remotas - Parzibyte's blog

  3. Intento conectarme desde una pc windows con mysql a mi base de datos que tengo en mi celular. Los dos se encuentran en una área local. Pero en la configuración del archivo my.cnf que tengo en mi android no aparece la opción de “bind address” los únicos “parámetros” por llamarlos de alguna manera son [client-server.] . Y a la hora de tratar de ingresar desde windows no me permite el acceso.

    1. Ya he comprobado el problema que especificas y después de investigar un momento di con la solución; me pude conectar desde Windows a Android. Mañana por la tarde sale el tutorial; te invito a suscribirte para estar al tanto.
      Saludos.

  4. Hola, que tal, tengo una duda. Resulta que he creado un usuario con privilegios, para que se conecte a mi base de datos remotamente. Pero al tratar de acceder desde otro dispositivo no me lo permite. Puesto que según yo necesito editar el archivo my.cnf para permitir el acceso remoto. Podrías echarme un cable ?

    1. Hola. No entiendo si el servidor es tu dispositivo Android o un servidor remoto.
      Si es tu dispositivo Android: ¿cuál es tu dirección IP de internet? ¿la conoces? normalmente tu IP de Android solamente es accesible desde dentro de la red local, tendrías que cambiar algunas cosas en tu módem para hacer que redirija el tráfico desde fuera de la red local.
      Si es uno remoto: asegúrate de habilitar las conexiones remotas, era algo de bind address. No te recomiendo que te conectes desde Android, mejor conéctate desde Windows o Linux con mysql -h la.ip.del.servidor -u tu_usuario -p para probar si es tu servidor o tu Android
      Te dejo unos tutoriales que pueden servirte:
      https://parzibyte.me/blog/2018/09/27/replicacion-mysql-windows-linux/
      https://parzibyte.me/blog/2018/09/19/primeros-pasos-con-la-cli-de-mysql/

  5. Pingback: Ejecutar scripts de Termux en el inicio (al encender dispositivo Android) - Parzibyte's blog

  6. Pingback: Instalar Python 3 y pip en Android usando Termux - Parzibyte's blog

  7. Pingback: Configurar Termux en Android (Linux en nuestro bolsillo) - Parzibyte's blog

Deja un comentario

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