Tengo claro que tener acceso a un interfaz gráfico desde el que poder consultar y gestionar una base de datos, es realmente cómodo y práctico. Sin embargo, no siempre es posible. O simplemente, te has habituado tanto a trabajar con la consola, que cuando no estás en ella te da morriña. Sea cual sea tu caso, y si trabajas con MariaDB o MySQL, en el artículo de hoy encontrás una interesante aplicación para poder trabajar con tu base de datos preferida desde el terminal. Se trata de MyCLI.
MyCLI un interfaz para MariaDB y MySQL
Ciertamente es difícil que no puedas acceder mediante interfaz gráfica a MySQL o MariaDB. Y te digo esto porque en muchas ocasiones se utiliza MariaDB junto a Apache y PHP para desplegar una página web. En este caso tienes los cimientos necesarios para tener a tu disposición phpMyAdmin, u otras interfaces web.
Por otro lado tampoco es necesario instalar una interfaz web. Es posible que puedas acceder de forma remota y utilizar aplicaciones como DBeaver, SQuirrel o incluso un editor visual de consultas SQL como SQLeo.
Sin embargo, incluso en aquellas ocasiones en las que no puedes acceder de forma remota, siempre puedes trabajar con MariaDB desde el terminal.
Y entonces ¿porque utilizar MyCLI? La respuesta es fácil, por comodidad. Y es MyCLI es una intefaz de consola para MySQL, MariaDB que pone a tu disposición el autocompletado y el resaltado de sintaxis.
Características de MyCLI
MyCLI tiene una serie de características que lo hace perfecto para trabajar directamente desde el terminal, sin que eches en falta una interfaz gráfica. ¿A que características me refiero?
Autocompletado
Conforme empiezas a escribir en MyCLI, de inmediato comienzan a aparecer sugerencias de todo lo que puedes hacer. No solo referente a posibles comandos, también bases de datos, tablas y demás elementos.
El autocompletado es contextual. Depende de donde estés te sugiere instrucciones, elementos o lo que sea. Por ejempllo, solo te sugiere tablas cuando estás después de FROM o columnas después de WHERE. Por supuesto, y como te puedes imaginar, es capaz de resolver alias
Por otro lado, MyCLI utiliza un algoritmo del tipo difuso. Esto te permite encontrar django_migrations
cuando estés buscando djmi
.
Configuración
Como te puedes imaginar, MyCLI, como buena herramienta para la consola, dispone de un potente archivo de configuración a través del cual poder personalizar hasta el mas mínimo de los detalles.
Este archivo de configuración lo puedes encontrar en ~/.myclirc
. A través de este archivo puedes personalizar detalles como el autocompletado, los avisos o la ubicación del log
. También es posible indicar el nivle de depuración que requieres.
Y por supuesto, también puees personalizar los colores así como el formato en el que se muestran las tablas.
Resaltado de sintaxis
Respecto al resaltado de sintaxis, indicarte que puedes seleccionar diferentes temas desde el archivo de configuración, que te he comentado en el punto anterior.
En este sentido te recomiendo que visites la página de MyCLI, para que elijas el tema que mejor se adapta a tus necesidades.
Comandos
MyCLI tiene dos tipos de comandos. Por un lado están los que les envía directamente a MariaDB/MySQL, que son la mayoría. Por otro lado, están los comandos o instrucciones que te permiten personalizar o configurar determinados aspectos de este interfaz.
Así, para conocer todos los comandos que puedes utilizar para gestionar MyCLI, tan solo tienes que utilizar \?
o help
. Para estos comandos puedes utilizar el propio comando o el atajo. Así para el caso de la ayuda tienes help
y su atajo \?
. Y esto para otros muchos comandos como,
help
\?
te muestra la ayudaquit
\q
para salir de este interfazlist
\l
lista las bases de datos disponibles\e
edita el comando con el editor que tengas configuradosource
ejecuta comandos desde un archivodt
lista o describe las tablas de la base de datos\t
te muestra el tiempo de ejecución\u
cambia a una nueva base de datos
Aqui te he indicado unos pocos de los comandos que tienes disponibles. Solo tienes que tirar mano de la ayuda para ver todos esos comandos.
Atajos de teclado
Si eres amante de VI o Emacs, indicarte que estas de enhorabuena, porque puedes utillizar los atajos de teclado de uno o de otro. Para cambiar de un modo a otro tan solo tienes que utizar F4
o bien personalizarlo desde el archivo de configuración.
Tus consultas preferidas
Si tienes que realizar determinadas consultas de forma predeterminada o habitualmente, en MyCLI, encontrarás tu perfecto aliado. Y es que MyCLI te permite gestionar un repositorio de consultas. Así, puedes realizar las siguientes operaciones con tus consultas preferidas,
\f
lista todas tus consultas guardadas\fs <nombre> <consulta>
guarda una consulta en tus consultas preferidas\f <nombre>
ejecuta la consulta guardada como<nombre>
\fd <nombre>
elimina la consulta que habías salvado previamente como<nombre>
.
Pero no solo esto, sino que ademas te permite pasar parámetros como si te encontraras en la shell
. Asi por ejemplo, puedes guardar una consulta como la siguiente,
\fs ejemplo SELECT * FROM usuarios WHERE nombre='$1'
Así, para ejecutarla, tan solo tienes que hacer lo siguiente,
\f ejemplo "pepe"
Esta caracterítica me parece mas que interesante, y sobre todo productiviva. En muchas ocasiones, una de nuestras tareas es repetir una y otra vez, una consulta, para conocer algún parámetro predeterminado. Aunque esto es carne de automatización, lo cierto es que si lo tienes guardado en tus consultas preferidas, ya tienes una buena ayuda.
Log
Una de las características que mas me interesa últimamente, es que las aplicaciones con las que trabajo, tengan o puedan tener un log. Me parece una característica fundamental. Así, en caso de error, o cuando sucede cualquier evento no esperado, tienes una forma de detectar, que es lo que ha sucedido, e intentar descubrir la causa.
Historial y búsqueda
Como sucede en la consola, MyCLI también registra todas y cada una de las instrucciones que ejecutas. Esto es verdaderamente fantástico porque te permite, ejecutar de nuevo una instrucción sin tener que volver a escribirla, o modificarlo, o lo que consideres. Así, puedes desplazarte hacia delante o hacia atrás en el historial utilizando las flechas abajo
o arriba
respectivamente.
Pero no solo esto, sino que tal y como sucede en la consola, también puedes buscar en el historial utilizando el atajo de teclado Ctrl+R
. Pudiendo saltar entre coincidencias pulsando repetidamente el atajo de teclado.
Acceso a varios servidores y bases de datos
Sin lugar a dudas, si tienes varios servidores de bases de datos, y varias bases de datos, es muy conveniente que tengas alguna forma de acceder que sea relativamente sencilla. Un sistema que te permita guardar datos como el hostname, el puerto, el usario, la contraseña y por supuesto la base de datos.
En el propio archivo de configuración de MyCLI, puedes guardar todos estos datos. Por ejemplo,
[alias_dsn]
ejemplo = mysql://usario:contraseña@hostname:3306/base_de_datos
así, para acceder a esta base de datos tan solo tienes que iniciar esta interfaz gráfica, con un sencillo mycli -d test
.
No hace falta que te diga, que es importante tener la configuración de MyCLI bien protegida. Sobre todo protegida de las miradas furtivas. Para esto tienes que establecer los permisos adecuados al archivo de configuración de MyCLI,
chmod 600 ~/.myclirc
Instalación
MyCLI se encuentra en los repositorios oficiales de Ubuntu, con lo que la instalación, es tan sencilla, como ejecutar la instrucción en un terminal,
sudo apt install mycli
Imagen de DANIEL DIAZ en Pixabay