InnoDB Cluster en pocas palabras Parte 3: MySQL Shell

Bienvenidos a la tercera parte de esta serie. Me alegro de que siempre lo leas, porque espero que eso signifique que al menos encuentres este tema interesante. Anteriormente presentamos los primeros dos componentes de MySQL InnoDB Cluster: Group Replication y MySQL Router y ahora discutimos el último componente, shell mysql.

shell mysql

Este es el último componente del grupo y me gusta. Oracle ha creado esta herramienta para centralizar la gestión de clústeres, proporcionando una interfaz de usuario fácil de usar y basada en la línea de comandos.

La herramienta se puede definir como un shell MySQL avanzado, que es mucho más potente que el conocido cliente MySQL. Con la capacidad de trabajar con datos relacionales y de documentos (JSON), la herramienta ofrece una mayor capacidad para interactuar con la base de datos desde una única ubicación.

MySQL Shell también es capaz de comprender varios idiomas:

  • JavaScript (predeterminado) que incluye varias funciones integradas para administrar el clúster (crear, destruir, reiniciar, etc.) de una manera muy sencilla.
  • Pitón proporciona una manera fácil de escribir código Python para interactuar con la base de datos. Esto es particularmente útil para los desarrolladores que no necesitan tener conocimientos de SQL o ejecutar aplicaciones para probar el código.
  • sql para trabajar de forma clásica para consultar la base de datos como solíamos hacer con el antiguo cliente MySQL.

Una característica muy interesante que ofrece MySQL Shell es la capacidad de establecer diferentes conexiones a diferentes servidores/clusters desde el mismo shell. No es necesario cerrar la sesión para conectarse a un servidor diferente, simplemente emita el comando connect hará que esto suceda. Como DBA, encuentro esto bastante útil cuando manejo múltiples clústeres/servidores.

Algunas de las características de esta herramienta incluyen:

  • Capacidad para utilizar los protocolos Classic y X.
  • Modo de cambio de idioma en línea (JavaScript, Python y SQL)
  • Finalización automática de comandos mediante tabulaciones, una característica excelente proporcionada en el cliente MySQL.
  • Produce formatos de color que también admiten varios formatos, como tabla, separado por tabuladores y Json.
  • Modo por lotes que procesa lotes de comandos que también permiten un modo interactivo para imprimir la salida de acuerdo con cada línea que se procesa.

Ciertos comandos show

Ejemplos de nuevas herramientas y modos de ejecución:

Personalmente, creo que esta herramienta es un muy buen reemplazo para el cliente MySQL clásico. Desafortunadamente, la instalación de mysql-server no incluye el shell de MySQL por defecto, pero vale la pena acostumbrarse. Te aconsejo que lo pruebes.

Conclusiones

Finalmente hemos llegado al final de esta serie. Espero que haya disfrutado de esta breve introducción a lo que Oracle parece estar ofreciendo para tener una solución integrada de alta disponibilidad basada en InnoDB. Puede convertirse en un buen competidor de las soluciones basadas en Galera. Sin embargo, queda un largo camino por recorrer, ya que la herramienta estaba sola recién lanzado como GA (abril de 2018). Hay muchas cosas que deben abordarse antes de que sea lo suficientemente consistente como para estar listo para la producción. En mi opinión personal, no lo es, todavía. Sin embargo, creo que es una gran herramienta que eventualmente será un jugador serio en el campo de HA, ya que es una solución excelente, flexible y fácil de implementar.

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario