MySQL : MySQL 8.0 Manual de Referência :: 4.2.4 Conectar ao Servidor MySQL Usando o Comando Opções

4.2.4 Conectar ao Servidor MySQL Usando o Comando Opções

Esta seção descreve o uso de opções de linha de comando para especificar como estabelecer conexões com o servidor MySQL, para clientes como o mysql ou o mysqldump. Para informações sobre o estabelecimento de ligações utilizando cadeias de ligação URI ou pares de valores-chave, para clientes como a Shell MySQL, ver secção 4.2.5, “ligação ao servidor utilizando Cadeias de caracteres URI ou pares de valores-chave”. Para mais informações se não conseguir ligar-se, ver secção 6.2.21, “problemas de resolução de problemas ligados ao MySQL”.

para um programa cliente se conectar ao servidor MySQL, ele deve usar os parâmetros de conexão adequados, como o nome da máquina onde o servidor está executando e o nome do Usuário e senha de sua conta MySQL. Cada parâmetro de conexão tem um valor padrão, mas você pode substituir os valores padrão conforme necessário usando opções de programa especificadas tanto na linha de comando ou em um arquivo de opção.

os exemplos aqui usam o programa cliente mysql, mas os princípios se aplicam a outros clientes como mysqldump, mysqladmin, ou mysqlshow.

Este comando invoca o mysql sem especificação explícita de parâmetros de conexão:

mysql

Porque não há opções de parâmetro, os valores padrão aplicam-se:

  • O nome do host padrão é localhost. No Unix, isso tem um significado especial, como descrito mais tarde.

  • o nome de Utilizador por omissão é ODBC no Windows ou o seu nome de utilizador do Unix no Unix.

  • Nenhuma senha é enviada porque nem --passwordnem-p é dada.

  • para o mysql, o primeiro argumento de não-opção é tomado como o nome da base de dados predefinida. Como não existe tal argumento, o mysql não seleciona nenhum banco de dados padrão.

para indicar explicitamente o nome da máquina e o nome do Utilizador, bem como uma senha, indique opções adequadas na linha de comandos. Para seleccionar uma base de dados predefinida, adicione um argumento de nome de base de dados. Exemplos:

mysql --host=localhost --user=myname --password=password mydbmysql -h localhost -u myname -ppassword mydb

Para opções de palavra-passe, o valor de palavra-passe é opcional:

  • Se você usar uma --password ou -p opção e especifique um valor de palavra-passe, não deve haver nenhum espaço entre --password= ou -p e a senha a seguir.

  • Se usar --password ou -p mas não indicar um valor de senha, o programa cliente pede-lhe para introduzir a senha. A senha não é mostrada à medida que a introduz. Isso é mais seguro do que dar a senha na linha de comando, o que pode permitir que outros usuários em seu sistema para ver a linha de senha, executando um comando como ps. Ver secção 6.1.2.1, “orientações do utilizador final para a segurança da senha”.

  • para especificar explicitamente que não há senha e que o programa cliente não deve pedir uma, use a opção --skip-password.

como foi mencionado, incluindo o valor da senha na linha de comando é um risco de segurança. Para evitar este risco, especificar a opção --password ou -p sem qualquer valor de senha a seguir:

mysql --host=localhost --user=myname --password mydbmysql -h localhost -u myname -p mydb

quando a opção --password ou -p é dada sem valor de senha, o programa cliente imprime uma linha de comandos e espera que introduza a senha. (In these examples, mydb is not interpreted as a password because it is separated from the preceding password option by a space.)

em alguns sistemas, a rotina da biblioteca que MySQL usa para pedir uma senha automaticamente limita a senha a oito caracteres. Essa limitação é uma propriedade da biblioteca do sistema, não MySQL. Internamente, MySQL não tem nenhum limite para o comprimento da senha. Para contornar a limitação dos sistemas afetados por ele, especifique a sua senha em um arquivo de Opções (ver secção 4.2.2.2, “usar arquivos de Opções”). Outra solução é mudar sua senha MySQL para um valor que tem oito ou menos caracteres, mas que tem a desvantagem de que as senhas mais curtas tendem a ser menos seguras.

os programas clientes determinam o tipo de ligação a fazer da seguinte forma::

  • Se o host não for especificado ou for localhost, uma conexão com o host local ocorre:

    • No Windows, o cliente se conecta usando memória compartilhada, se o servidor foi iniciado com o shared_memory variável de sistema habilitado para dar suporte a ligações de memória partilhada.

    • On Unix, MySQL programs treat the host name localhost especially, in a way that is likely different from what you expect compared to other network-based programs: o cliente conecta-se usando um arquivo de socket Unix. A opção --socket ou a variável MYSQL_UNIX_PORT pode ser usada para indicar o nome do ‘socket’.

  • No Windows, se host. (período), ou TCP/IP não está habilitado e --socket não é especificado ou o host estiver vazio, o cliente se conecta usando um pipe nomeado, se o servidor foi iniciado com o named_pipe variável de sistema habilitado para dar suporte a conexões de pipe nomeado. Se as conexões de tubulação com nome não são suportadas ou se o usuário que faz a conexão não é um membro do Grupo Windows especificado pelo named_pipe_full_access_group variável do sistema, um erro ocorre. caso contrário, a conexão usa TCP/IP.

a opção --protocol permite-lhe usar um protocolo de transporte específico, mesmo quando outras opções normalmente resultam no uso de um protocolo diferente. Isto é, --protocol especifica o protocolo de transporte explicitamente e substitui as regras anteriores, mesmo para .

apenas são utilizadas ou verificadas as opções de ligação relevantes para o protocolo de transporte seleccionado. Outras opções de conexão são ignoradas. Por exemplo, com --host=localhost no Unix, o cliente tenta se conectar ao servidor local usando um arquivo socket Unix, mesmo se uma --port ou -P opção é fornecida para especificar uma porta TCP/IP.

Para garantir que o cliente faz uma conexão TCP/IP para o servidor local, use --host ou -h para especificar um nome de host valor de 127.0.0.1 (em vez de localhost), ou o endereço IP ou o nome do servidor local. Você também pode especificar o protocolo de transporte explicitamente, mesmo para , usando a opção --protocol=TCP. Exemplo:

mysql --host=127.0.0.1mysql --protocol=TCP

If the server is configured to accept IPv6 connections, clients can connect to the local server over IPv6 using --host=::1. Ver Secção 5.1.13, “Suporte IPv6”.

no Windows, para forçar um cliente de MySQL a usar uma ligação de ‘pipe’ com nome, indique a opção --pipe ou --protocol=PIPE, ou especifique (período) Como Nome da máquina. Se o servidor não foi iniciado com o named_pipe variável de sistema habilitado para dar suporte a conexões de pipe nomeado ou se o utilizador efectuar a ligação não é um membro do grupo Windows especificado pelo named_pipe_full_access_group variável de sistema, ocorre um erro. Use a opção --socket para indicar o nome do cano se não quiser usar o nome por omissão.

ligações a servidores remotos usam TCP / IP. Este comando liga-se ao servidor em execução em remote.example.com usando o número de Porto predefinido (3306):

mysql --host=remote.example.com

Para especificar um número de porta explicitamente, use o --port ou -P opção:

mysql --host=remote.example.com --port=13306

Você pode especificar um número de porta para conexões para um servidor local, também. No entanto, como indicado anteriormente, conexões para no Unix usar um arquivo de socket por padrão, então a menos que você forçar uma conexão TCP/IP como descrito anteriormente, qualquer opção que especifica um número de porto é ignorada.

para este comando, o programa usa um ficheiro socket no Unix e o --port a opção é ignorada:

mysql --port=13306 --host=localhost

para fazer com que o número de Porto seja usado, force uma ligação TCP/IP. Por exemplo, invoque o programa em qualquer uma dessas maneiras:

mysql --port=13306 --host=127.0.0.1mysql --port=13306 --protocol=TCP

para obter informações adicionais sobre as opções que controlam como os programas clientes estabelecem conexões para o servidor, ver secção 4.2.3, “opções de comandos para se conectar ao servidor”.

é possível especificar parâmetros de conexão sem inseri-los na linha de comando a cada vez que você chamar o programa cliente:

  • Especificar os parâmetros de conexão seção de um arquivo de opção. A secção relevante do ficheiro poderá ser assim:

    host=host_nameuser=user_namepassword=password

    para mais informações, ver secção 4.2.2.2,”usar ficheiros de Opções”.

  • alguns parâmetros de ligação podem ser especificados usando variáveis de ambiente. Exemplo:

    • Para especificar o host para o mysql, use MYSQL_HOST.

    • nas janelas, para indicar o nome de utilizador de MySQL, use USER.

    para uma lista de variáveis de ambiente suportadas, ver secção 4.9, “variáveis de ambiente”.



Deixe uma resposta

O seu endereço de email não será publicado.