Búsqueda de sitios web

Protocolos de transporte de conexión para MySQL


Programas como 'mysql' y 'mysqldump', que utilizan la biblioteca cliente MySQL, tienen el soporte de conexión MySQL al servidor con la ayuda de muchos protocolos de transporte, como TCP/IP, archivo de socket Unix, llamado tubería, memoria compartida, etc. Entendamos los protocolos de transporte de conexión utilizados con MySQL:

La siguiente tabla muestra los valores permitidos para --protocol y también indica las plataformas donde se aplica cada uno de estos valores. Cabe señalar que los valores no distinguen entre mayúsculas y minúsculas.

--protocol valueTransport protocol usedApplicable platforms
TCPTCP/IPAll
SOCKETUnix socket fileUnix and Unix-like systems
PIPENamed pipeWindows
MEMORYShared memoryWindows

TCP/IP

El transporte TCP/IP también admite conexiones a servidores MySQL locales o remotos.

Transporte de tubería con nombre

El transporte de canalización con nombre permite conexiones remotas, pero esta capacidad no se ha implementado en MySQL hasta el momento. Solo admite conexiones a servidores MySQL locales. No es necesario que esté cifrado con TLS/SSL.

Archivo de socket

El transporte de archivos de socket solo admite conexiones a servidores MySQL locales. Puede estar cifrado con TLS/SSL.

Memoria compartida

Transporta sólo conexiones de soporte a servidores MySQL locales. No es necesario que esté cifrado con TLS/SSL.

¿Cómo hacer que una conexión sea segura?

Una conexión es segura de forma predeterminada si se establece a través de un protocolo de transporte que sea seguro de forma predeterminada. De lo contrario, para los protocolos cifrados con TLS/SSL, se puede hacer una conexión segura mediante cifrado:

  • Las conexiones TCP/IP no son seguras de forma predeterminada, pero se pueden cifrar para que sean seguras.

  • Las conexiones de archivos de socket son seguras de forma predeterminada. Se pueden cifrar, pero eso no los hace más seguros y sólo aumenta la carga de la CPU.

  • Las conexiones de canalización con nombre no son seguras de forma predeterminada y no es necesario cifrarlas para que sean seguras. Pero la variable de sistema name_pipe_full_access_group está disponible y ayuda a controlar a qué usuarios de MySQL se les daría permiso para usar conexiones de canalización con nombre.

  • Las conexiones de memoria compartida son seguras de forma predeterminada.