Estabeleça ligação através de um cliente MySQL

Pode usar o cliente de linha de comandos do MySQL para estabelecer ligação ao Cloud SQL. Esta página descreve como ligar um cliente mysql à sua instância do Cloud SQL, quer esteja a ser executado localmente na sua máquina cliente, numa VM do Compute Engine ou no Cloud Shell.

Antes de começar

Antes de poder usar um cliente mysql para estabelecer ligação à sua instância do Cloud SQL, faça o seguinte:

Use um cliente MySQL numa máquina local ou numa VM do Compute Engine

A utilização de um cliente mysql para estabelecer ligação à sua instância do Cloud SQL envolve três tarefas de alto nível:

  1. Instale o cliente.
  2. Configure o acesso à sua instância do Cloud SQL.
  3. Estabeleça ligação à sua instância do Cloud SQL.

Instale o cliente

Para instalar o cliente mysql, faça o seguinte:

  1. Transfira o MySQL Community Server para a sua plataforma a partir da página de transferência do MySQL Community Server.
    O servidor da comunidade inclui o cliente MySQL.
  2. Instale o servidor da comunidade seguindo as instruções na página de transferência.

Para mais informações sobre a instalação do MySQL, consulte o artigo Instalar e atualizar o MySQL.

Configure o acesso à sua instância do Cloud SQL

Para configurar o acesso à sua instância, faça o seguinte:

  1. Na máquina cliente ou na instância de VM do Compute Engine, use o site Qual é o meu IP para ver o endereço IP da máquina cliente.
  2. Copie esse endereço IP.
  3. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  4. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  5. Selecione Associações no menu de navegação do SQL.
  6. Selecione o separador Redes.
  7. Na secção Redes autorizadas, clique em Adicionar rede e introduza o endereço IP do computador onde o cliente está instalado. mysql
  8. Clique em Concluído. Em seguida, clique em Guardar na parte inferior da página para guardar as alterações.
  9. Estabeleça ligação à sua instância através de SSL/TLS ou sem encriptação (sem usar SSL/TLS).

Estabeleça ligação à sua instância do Cloud SQL sem encriptação

Para permitir a ligação sem encriptação, a instância tem de ter o modo SSL definido como ALLOW_UNENCRYPTED_AND_ENCRYPTED. Na Google Cloud consola, a configuração equivalente é Permitir tráfego de rede não encriptado.

Para mais informações acerca da configuração SSL/TLS da sua instância, consulte o artigo Configurar certificados SSL/TLS.

Para estabelecer ligação à sua instância, faça o seguinte:

  1. Confirme que instalou o cliente e configurou o acesso à sua instância.
  2. Inicie o cliente mysql:
    mysql --ssl-mode=DISABLED --host=INSTANCE_IP_ADDRESS --user=root --password
  3. Introduza a palavra-passe.
  4. É apresentada a linha de comandos do mysql.

Ligue-se à sua instância do Cloud SQL através de SSL/TLS

Para estabelecer ligação à sua instância através de SSL/TLS e autenticação integrada:

Antes de começar, confirme que instalou o cliente e configurou o acesso à sua instância.

  1. Inicie o cliente mysql:
    mysql --ssl-mode=REQUIRED \
       --host=INSTANCE_IP_ADDRESS \
       --user=root --password
  2. Introduza a palavra-passe.
  3. Na linha de comandos do MySQL, introduza o comando \s para verificar se a sua ligação está a usar SSL/TLS.
  4. Procure a linha de saída com SSL:.
    ...
    SSL:                     Cipher in use is DHE-RSA-AES256-SHA
    ...
    

    Para obter informações sobre a resolução de problemas de ligação, consulte o artigo Resolva problemas de ligação.

Estabeleça ligação à sua instância do Cloud SQL através de SSL/TLS e validação de certificados de cliente

Se ssl_mode na sua instância do Cloud SQL estiver configurado para TRUSTED_CLIENT_CERTIFICATE_REQUIRED, também tem de fornecer uma identidade de cliente validada quando iniciar sessão.

Para estabelecer ligação através de certificados SSL/TLS com validação de cliente, precisa do seguinte:

  • Um certificado de chave pública do cliente num ficheiro client-cert.pem.
  • Uma chave privada do cliente num ficheiro client-key.pem.

Além disso, para permitir que o cliente valide a identidade do servidor para autenticação mútua, especifique o certificado do servidor server-ca.pem.

Por exemplo, para iniciar o cliente mysql:
    mysql --ssl-mode=VERIFY_CA \
      --ssl-ca=server-ca.pem \
      --ssl-cert=client-cert.pem \
      --ssl-key=client-key.pem \
      --host=INSTANCE_IP_ADDRESS \
      --user=root --password
   

Se não tiver um certificado de cliente e uma chave privada correspondente, crie um novo certificado de cliente.

Usar o cliente no Cloud Shell

Para ligar a uma instância do Cloud SQL (apenas IP público):

  1. Aceda à Google Cloud consola.

    Aceda à Google Cloud consola

  2. Clique no ícone do Cloud Shell na parte direita da barra de ferramentas.

    O Cloud Shell demora alguns momentos a inicializar.

  3. Na linha de comandos do Cloud Shell, use o cliente incorporado para se ligar à sua instância do Cloud SQL:
    gcloud sql connect INSTANCE_ID \
    --user=root
  4. Introduza a palavra-passe.

O comando gcloud sql connect não suporta a ligação a uma instância do Cloud SQL através de um IP privado ou através de SSL/TLS. Para estabelecer ligação com encriptação, instale e use o proxy no Cloud Shell:

  1. Instale o proxy (Linux de 64 bits) no diretório /home/USER.
  2. Inicie o proxy através da autenticação da CLI gcloud:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

  3. Faça a ligação à base de dados através da ligação TCP:

    mysql -u USERNAME -p --host=127.0.0.1

O que se segue?

Experimente

Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Cloud SQL em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.

Experimente o Cloud SQL gratuitamente