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
--password
nem-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ávelMYSQL_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 onamed_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 pelonamed_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”.
-