MySQL 8.1 ya fue liberado y estas son sus novedades
Hace poco Oracle dio a conocer el lanzamiento de la nueva versión de su DBMS, «MySQL 8.1», junto con el cual tambien anunció un cambio en el modelo de generación de versiones. El nuevo modelo de generación de versiones proporciona dos tipos de ramas «Innovation y LTS» las cuales incluirán nuevas funciones y serán adecuadas para las implementaciones de producción.
Por la parte de la rama Innovation, que incluyen MySQL 8.1, esta se recomiendan para aquellos que desean acceder antes a las nuevas funcionalidades. Esta rama se publicarán cada 3 meses y solo se mantendrán hasta que se publique la próxima versión principal (por ejemplo, la rama 8.1 quedará obsoleta después de la rama 8.2, que se espera para fines de octubre).
Mientras que la rama LTS, esta se recomiendan para implementaciones que requieren previsibilidad y retención a largo plazo de un comportamiento coherente. La rama LTS se lanzarán cada dos años y recibirán soporte normal durante 5 años, además de los cuales puede obtener otros 3 años de soporte extendido.
Este nuevo cambio, lo podemos entender de la siguiente forma, con el lanzamiento de esta nueva versión de MySQL 8.1.0, con la cual la rama 8.0 se ha puesto en modo de mantenimiento, permitiendo solo la corrección de errores hasta abril de 2026. Aproximadamente un año después, se lanzará una nueva versión LTS de MySQL 8.4, lo que dejará a los usuarios alrededor de dos años para migrar de MySQL 8.0 a la nueva rama LTS.
En la práctica, en este período de transición, si desea las últimas funciones, mejoras y todas las correcciones de errores para sus bases de datos MySQL, use la versión de lanzamiento de Innovación (p. ej., 8.1.x, 8.2.x, 8.3.x, etc.). Si solo necesita correcciones de errores para su base de datos MySQL, use las versiones 8.0.x (por ejemplo, 8.0.35, 8.0.36, 8.0.37, etc.). En ambos casos, debe planear actualizar sus bases de datos MySQL trimestralmente de acuerdo con el calendario de actualizaciones de parches críticos (CPU) de Oracle .
Principales novedades de MySQL 8.1
En esta nueva versión que se presenta de MySQL 8.1 se destaca que se amplía» EXPLAIN FORMAT=JSON» con una opcion «INTO», que le permite guardar el informe de tiempo de ejecución de la solicitud en formato JSON en una variable separada, a la que se aplican funciones para analizar JSON, «EXPLAIN FORMAT=JSON INTO»
Otro de los cambios que se destaca de esta nueva versión, es que se agregó la variable del sistema «tls-certificates-enforced-validation« para habilitar la validación obligatoria del certificado TLS al iniciar el servidor o ejecutar la declaración «ALTER INSTANCE RELOAD TLS». Si la comprobación falla, el servidor no se iniciará.
Tambien se destaca que se agregaron las variables del sistema del servidor para controlar la cantidad de tiempo que deben esperar las cuentas MySQL que se conectan a un servidor MySQL mediante la autenticación conectable LDAP cuando el servidor LDAP está inactivo o no responde. El nuevo tiempo de espera predeterminado es de 30 segundos para las siguientes variables de autenticación LDAP simples y basadas en SASL: authentication_ldap_simple_connect_timeout, authentication_ldap_simple_response_timeout, authentication_ldap_sasl_connect_timeout, authentication_ldap_sasl_response_timeout
Ademas de ello, ahora en MySQL 8.1 se agregaron una serie de variables de estado específicas del complemento Group Replication que mejoran el diagnóstico y la resolución de problemas de inestabilidades de la red, proporcionando estadísticas sobre el uso de la red, mensajes de control y mensajes de datos para cada miembro del grupo.
De los demás cambios que se destacan:
- El valor de la opción SOURCE_RETRY_COUNT (el tiempo de espera antes de volver a intentar establecer una conexión) especificado en la instrucción «CHANGE REPLICATION SOURCE TO» se cambió del valor predeterminado a 10 segundos.
- Para facilitar la depuración de problemas, se han agregado al registro mensajes adicionales sobre el inicio y el apagado, así como el cierre de conexiones.
- Se agregó la instrucción «SHOW PARSE_TREE» para mostrar el árbol de análisis de una consulta SELECT en una representación JSON.
- Se agregaron variables que reflejan el estado de replicación.
- Se eliminó la compatibilidad para establecer las opciones de inicio (–my-option=NULL) y las variables del sistema asociadas en NULL.
- El uso de «$» quedó obsoleto en MySQL 8.0 y está restringido en MySQL 8.1.0, se menciona que el uso de un identificador sin comillas que comience con un signo de dólar y que contenga uno o más signos de dólar (además del primero) ahora genera un error de sintaxis.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
Para los interesados en poder obtener la nueva versión de MySQL, deben saber que ya se ofrecen las compilaciones que están preparadas para todas las principales distribuciones de Linux, FreeBSD, macOS y Windows.