Conectar-se a uma instância de banco de dados executando o mecanismo de banco de dados MariaDB - Amazon Relational Database Service

Conectar-se a uma instância de banco de dados executando o mecanismo de banco de dados MariaDB

Depois que o Amazon RDS provisionar a sua instância de banco de dados, será possível usar qualquer utilitário ou aplicativo cliente MariaDB padrão para se conectar à instância. Na string de conexão, especifique o endereço DNS (Domain Name System) do endpoint da instância de banco de dados como o parâmetro de host. Especifique também o número da porta do endpoint da instância de banco de dados como o parâmetro da porta.

É possível se conectar a uma instância de banco de dados do Amazon RDS for MariaDB usando ferramentas como o cliente MySQL de linha de comando. Para obter mais informações sobre como usar o cliente MySQL de linha de comando, consulte mysql command-line client, na documentação do MariaDB. O Heidi é uma aplicação baseada em GUI que você pode usar para se conectar. Para obter mais informações, consulte a página Download heidi. Para obter informações sobre como instalar o MySQL (incluindo o cliente MySQL de linha de comando), consulte Installing and upgrading MySQL (Instalar e atualizar o MySQL).

A maioria das distribuições do Linux inclui o cliente MariaDB em vez do cliente Oracle MySQL. Para instalar o cliente MySQL de linha de comando na maioria das distribuições do Linux baseadas em RPM, inclusive o Amazon Linux 2, execute o seguinte comando:

yum install mariadb

Para instalar o cliente MySQL de linha de comando na maioria das distribuições do Linux baseadas em DEB, execute o seguinte comando:

apt-get install mariadb-client

Para verificar a versão do cliente MySQL de linha de comando, execute o seguinte comando:

mysql --version

Para ler a documentação da versão atual do cliente MySQL, execute o seguinte comando:

man mysql

Para se conectar a uma instância de banco de dados de fora de uma nuvem privada virtual (VPC) baseada em Amazon VPC, a instância de banco de dados deve estar acessível publicamente. Além disso, o acesso deve ser concedido usando as regras de entrada do grupo de segurança da instância de banco de dados, e os outros requisitos devem ser atendidos. Para obter mais informações, consulte Não é possível conectar-se à instância de banco de dados do Amazon RDS.

Você pode usar a criptografia SSL em conexões com uma instância de banco de dados MariaDB. Para obter mais informações, consulte Uso do SSL com uma instância de banco de dados MariaDB.

Localizar as informações de conexão para uma instância de banco de dados MariaDB

As informações de conexão de uma instância de banco de dados incluem seu endpoint, porta e um usuário de banco de dados válido, como o usuário mestre. Por exemplo, suponha que um valor de endpoint seja mydb.123456789012.us-east-1.rds.amazonaws.com. Nesse caso, o valor da porta é 3306, e o usuário do banco de dados é admin. Com essas informações, você especifica os seguintes valores em uma string de conexão:

  • Para o host, nome de host ou nome DNS, especifique mydb.123456789012.us-east-1.rds.amazonaws.com.

  • Para a porta, especifique 3306.

  • Para usuário, especifique admin.

Para se conectar a uma instância de banco de dados, use qualquer cliente para o mecanismo de banco de dados do MariaDB. Por exemplo, você pode usar o cliente MySQL de linha de comando ou o MySQL Workbench.

Para localizar as informações de conexão de uma instância de banco de dados, você pode usar o AWS Management Console, comando da AWS Command Line Interface (AWS CLI) describe-db-instances ou a operação da API do Amazon RDS DescribeDBInstances para listar seus detalhes.

Para encontrar as informações de conexão de uma instância de banco de dados no AWS Management Console

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Bancos de dados para exibir uma lista de suas instâncias de banco de dados.

  3. Escolha o nome da instância de banco de dados MariaDB para exibir os detalhes.

  4. Na guia Connectivity & security (Conectividade e segurança), copie o endpoint. Além disso, anote o número da porta. Você precisará do endpoint e do número da porta para conectar-se à instância de banco de dados.

    
                                O endpoint e a porta de uma instância de banco de dados
  5. Se você precisar encontrar o nome de usuário mestre, escolha a guia Configuração e visualize o valor do nome de usuário mestre .

Para encontrar as informações de conexão para uma instância de banco de dados MariaDB usando o AWS CLI, chame o comando describe-db-instances . Na chamada, consulte o ID da instância de banco de dados, o endpoint, a porta e o nome de usuário mestre.

Para Linux, macOS ou Unix:

aws rds describe-db-instances \ --filters "Name=engine,Values=mariadb" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Para Windows:

aws rds describe-db-instances ^ --filters "Name=engine,Values=mariadb" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Sua saída deve ser similar à seguinte.

[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]

Para localizar as informações de conexão de uma instância de banco de dados usando a Amazon RDS API, chame a operação DescribeDBInstances . Na saída, encontre os valores para o endereço do endpoint, a porta do endpoint e o nome do usuário mestre.

Conectar o cliente MySQL de linha de comando (não criptografado)

Importante

Use uma conexão MySQL não criptografada apenas quando o cliente e o servidor estiverem na mesma VPC e a rede for confiável. Para obter informações sobre como usar conexões criptografadas, consulte Conectar o cliente MySQL de linha de comando (não criptografado) com SSL (criptografado).

Para se conectar a uma instância de banco de dados usando o cliente MySQL de linha de comando, insira o comando a seguir em um prompt de comando em um computador cliente. Isso conecta você a um banco de dados em uma instância de banco de dados MariaDB. Substitua o nome DNS (endpoint) da instância de banco de dados <endpoint> e o nome de usuário mestre usado por <mymasteruser>. Forneça a senha mestra usada quando for solicitada uma senha.

mysql -h <endpoint> -P 3306 -u <mymasteruser> -p

Depois de digitar a senha do usuário, você verá uma saída semelhante à seguinte.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.8-MariaDB-log Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>

Conectar o cliente MySQL de linha de comando (não criptografado) com SSL (criptografado)

O Amazon RDS cria um certificado SSL para sua instância de banco de dados quando essa instância é criada. Se você habilitar a verificação de certificado SSL, o certificado SSL incluirá o endpoint da instância de banco de dados como o nome comum (CN) do certificado SSL para se proteger contra ataques de falsificação. Para se conectar à sua instância de banco de dados usando o SSL, siga estas etapas:

Para se conectar a uma instância de banco de dados com o SSL usando o cliente MySQL de linha de comando

  1. Você pode fazer download de um certificado raiz que funciona para todas as regiões AWS.

    Para obter informações sobre como fazer download de certificados, consulte Como Usar SSL/TLS para criptografar uma conexão com uma instância de banco de dados.

  2. Digite o comando a seguir em um prompt de comando para se conectar a uma instância de banco de dados com SSL usando o utilitário mysql. Para o parâmetro -h, substitua o nome DNS da sua instância de banco de dados. Para o parâmetro --ssl-ca, substitua o nome do arquivo de certificado SSL, conforme apropriado.

    mysql -h mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem -p
  3. Inclua o parâmetro --ssl-verify-server-cert para que a conexão SSL verifique o endpoint da instância de banco de dados em relação ao endpoint no certificado SSL. Por exemplo:

    mysql -h mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-verify-server-cert -p
  4. Digite a senha do usuário mestre quando lhe for solicitado.

Você deve ver saída semelhante a.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.8-MariaDB-log Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>

Solução de problemas de conexões da instância de banco de dados MariaDB

Duas causas comuns de falhas de conexão para uma nova instância de banco de dados são as seguintes:

  • A instância de banco de dados foi criada usando um grupo de segurança que não autoriza conexões do dispositivo ou da instância do Amazon EC2 em que o aplicativo ou utilitário do MariaDB está sendo executado. Se a instância de banco de dados tiver sido criada em uma Amazon VPC, ela deverá ter um security group de VPC que autorize as conexões. Para obter mais informações, consulte VPCs da Amazon Virtual Private Cloud e do Amazon RDS.

    É possível adicionar ou editar uma regra de entrada no grupo de segurança. Em Source (Origem), selecione My IP (Meu IP). Isso concede acesso à instância de banco de dados do endereço IP detectado no navegador.

    Se a instância de banco de dados tiver sido criada fora de uma VPC, ela deverá ter um security group de banco de dados que autorize as conexões.

  • A instância de banco de dados foi criada usando a porta padrão 3306 e sua empresa emprega regras de firewall bloqueando conexões a essa porta a partir de dispositivos na rede de sua empresa. Para corrigir essa falha, recrie a instância com uma porta diferente.

Para obter mais informações sobre problemas de conexão, consulte Não é possível conectar-se à instância de banco de dados do Amazon RDS.