Explorando Protocolos MySQL
X Protocol
Desde MySQL 5.7.12 existe un nuevo X Plugin que expone un nuevo protocolo de comunicación llamado X Protocol. X Protocol provee una conectividad más flexible entre el cliente y el servidor. Mejora la seguridad mediante el uso de estándares confiables como TLS y SASL. Es un nuevo protocolo de MySQL que soporta SQL y CRUD.
El nuevo protocolo para la conexión con el servidor cuenta con una nueva utilidad de comandos para el trabajo interactivo con el servidor, una nueva API NoSQL con soporte para CRUD, binding para Python, JavaScript, Node.js, Net y Java, además de la capacidad de ejecutar consultas de forma asíncrona.
Por ahora, las características implementadas del protocolo X son prototipos para pruebas. Los desarrolladores tienen grandes expectativas sobre ellas y aseguran que en las próximas actualizaciones el protocolo tendrá extensiones de API y binding con otros lenguajes. El protocolo X se utilizará para la replicación y el sharding, ya que el protocolo de streaming y la estructura más estricta de las consultas simplifican esas tareas. También puede reducir el número de intercambios de ida y vuelta mediante el uso de pipeline, mejorando así las características de rendimiento.
Protocolo Cliente/Servidor de MySQL
El protocolo Cliente/Servidor de MySQL se utiliza en las operaciones del servidor para crear, leer, interpretar y enviar paquetes de protocolo entre Clientes MySQL y un Servidor MySQL. Está implementado por conectores, MySQL Proxy y la comunicación entre servidores de replicación maestro y esclavo.
El protocolo soporta las siguientes características:
- Cifrado transparente usando SSL
- Compresión transparente
- Fase de comandos utilizada para aceptar comandos del servidor y ejecutarlos
- Fase de conexión que realiza la configuración de la comunicación SSL y la autenticación entre el cliente y el servidor
- Fase de autenticación:
- El cliente se conecta al servidor
- El servidor envía un paquete de saludo al cliente
- El cliente envía un paquete de autenticación
- El servidor permite la transacción o devuelve un mensaje de error
- Fase de consulta
- El cliente envía un paquete COM_*
- El servidor envía uno de los siguientes: OK, Error, EOF (mensaje de Fin de Archivo) o un conjunto de resultados.
A continuación, ¿contiene su MySQL u otras bases de datos datos sensibles que deben ser asegurados y protegidos? ¿O necesita estar en cumplimiento con GDPR, SOX o HIPAA? Revise el software de seguridad de bases de datos y enmascaramiento de datos de DataSunrise o descargue la versión de prueba.
