Encontrando o transporte
Tente usar netstat -ln | grep 'mysql'
e você pode ver como ela é conectada pela saída. se você tiver acesso ao shell
No Unix, os programas MySQL tratam o nome do host localhost especialmente, de uma forma que é provavelmente diferente do que você espera comparado a outros programas baseados em rede. Para conexões com o localhost, os programas do MySQL tentam se conectar ao servidor local usando um arquivo de soquete do Unix.
Isso ocorre mesmo se uma opção --port
ou -P
for especificada para especificar um número de porta.
Se você gostaria de saber o tipo de conexão de dentro da CLI do mysql, use o comando '\ s' (status).
mysql> \s
A saída teria uma linha como uma das seguintes (no Unix).
Connection: 127.0.0.1 via TCP/IP
ou
Connection: Localhost via UNIX socket
Forçando um transporte particular
Para garantir que o cliente estabeleça uma conexão TCP / IP com o servidor local, use --host
ou -h
para especificar um valor de nome de host 127.0.0.1 ou o endereço IP ou o nome do servidor local. Você também pode especificar o protocolo de conexão explicitamente, mesmo para localhost, usando a opção --protocol=TCP
. Por exemplo:
shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP
A opção --protocol={TCP|SOCKET|PIPE|MEMORY}
especifica explicitamente um protocolo a ser usado para se conectar ao servidor. É útil quando os outros parâmetros de conexão normalmente causam a utilização de um protocolo diferente daquele que você deseja. Por exemplo, conexões em Unix para localhost são feitas usando um arquivo de soquete Unix por padrão:
shell> mysql --host=localhost
Para forçar uma conexão TCP / IP a ser usada, especifique uma opção --protocol
:
shell> mysql --host=localhost --protocol=TCP
Tipos de protocolo:
- TCP: conexão TCP / IP para servidor local ou remoto. Disponível em todas as plataformas.
- SOCKET: conexão de arquivo de soquete do Unix ao servidor local. Disponível apenas no unix.
- PIPE: Conexão de pipe nomeado para servidor local ou remoto. Disponível somente no Windows.
- MEMORY: Conexão de memória compartilhada ao servidor local. Disponível somente no Windows.
Uma conexão de arquivo de soquete Unix é mais rápida que o TCP / IP, mas pode ser usada somente ao conectar-se a um servidor no mesmo computador.