Todos os produtos
Search
Central de documentação

PolarDB:Conectar-se a um banco de dados

Última atualização: Jun 28, 2026

Conecte-se a um cluster PolarDB for MySQL usando o DMS, um cliente MySQL, a linha de comando ou código da aplicação.

Pré-requisitos

Conclua as tarefas a seguir antes de se conectar:

  • Obter o endpoint e a porta do banco de dados

    Acesse o console do PolarDB. Na Cluster List, clique em ID do cluster desejado para acessar a página de detalhes. Na seção Database Connection, obtenha o endpoint do banco de dados (endpoint primário, endpoint do cluster e endpoint personalizado).image

    Nota
    • Use o cluster endpoint. A porta padrão é 3306.

    • Selecione private network ou public network conforme o ambiente de acesso.

      • Se você usar uma instância ecs para acessar o PolarDB e tanto a instância quanto o cluster PolarDB estiverem na mesma vpc, selecione private network.

      • Para acessar o PolarDB de um ambiente local, selecione public network. Para obter um endpoint público, clique em Request à direita.

    • A public network refere-se à Internet. O acesso ao cluster pela public network pode não oferecer desempenho ideal para o cluster PolarDB.

    • Hosts virtuais e servidores Simple Application Server não podem se conectar ao PolarDB por meio de um endpoint de private network.

  • Criar uma conta de banco de dados

    Acesse o console do PolarDB. Na Cluster List, clique em ID do cluster desejado para ir à página de detalhes. Na página Configurations and Management > Account Management, crie uma conta de banco de dados.image

    Nota

    As contas de banco de dados dividem-se em privileged accounts e standard accounts, com permissões distintas. Crie a conta adequada às suas necessidades.

  • Configurar a lista de permissões do cluster

    Acesse o console do PolarDB. Na Cluster List, clique em ID do cluster desejado para abrir a página de detalhes. Na página Configurations and Management > Cluster Whitelist, adicione uma lista de permissões de ip ou um grupo de segurança.

    image

    Nota
    • Se você usar uma instância ecs para acessar o PolarDB e ela estiver na mesma vpc do cluster PolarDB, adicione o ip privado da instância ecs a um novo grupo de lista de permissões de ip ou inclua o grupo de segurança da instância ecs na lista de permissões do cluster.

    • Se a instância ecs usada para acessar o PolarDB estiver em uma vpc diferente da vpc do cluster PolarDB, adicione o ip público da instância ecs a um novo grupo de lista de permissões de ip ou inclua o grupo de segurança da instância ecs na lista de permissões do cluster.

    • Para acessar o PolarDB de um ambiente local, adicione o ip público desse ambiente a um novo grupo de lista de permissões de ip.

      Obtenha seu endereço ip público:

      • Linux: Abra o terminal e execute o comando curl ifconfig.me.

      • Windows: Abra o prompt de comando e execute o comando curl ip.me.

      • macOS: Abra o terminal e execute o comando curl ifconfig.me.

      Se sua rede local usar um servidor proxy ou configurações semelhantes, o endereço ip obtido pelos métodos acima pode não ser o ip público real. Adicione o intervalo de endereços ip 0.0.0.0/0 à lista de permissões do cluster PolarDB. Após conectar-se com sucesso ao cluster, execute o comando SHOW PROCESSLIST; para identificar o ip público real e adicioná-lo à lista de permissões do cluster. Em seguida, remova o intervalo de endereços ip 0.0.0.0/0 da lista de permissões.

      image

      image

    • O intervalo de endereços ip 0.0.0.0/0 permite acesso de qualquer origem, o que representa um risco significativo de segurança. Não o adicione à lista de permissões sem necessidade absoluta.

Após concluir os pré-requisitos, conecte-se ao cluster.

Conectar-se a um cluster de banco de dados

Escolha o método de conexão mais adequado:

Usar o DMS para conectar-se ao cluster

O DMS é um serviço gráfico de gerenciamento de dados da Alibaba Cloud. Ele permite gerenciar o cluster PolarDB diretamente, sem instalar ferramentas adicionais.

  1. Acesse o console do PolarDB. Na Cluster List, clique em ID do cluster desejado para ir à página de detalhes. No canto superior direito da página, clique em Log on to Database.image

  2. Insira a database account e a database password do cluster PolarDB for MySQL e clique em Log on.image

  3. Após o login, localize o cluster PolarDB for MySQL na lista Logged-in Instances no painel de navegação à esquerda.image

Usar um cliente para conectar-se ao cluster

Use qualquer cliente compatível com MySQL para conectar-se a um cluster PolarDB. O exemplo abaixo usa o MySQL Workbench 8.0.29.

  1. Baixe e instale o MySQL Workbench.

  2. Abra o MySQL Workbench e escolha Database > Connect to Database.

  3. Preencha as informações de conexão e clique em OK.

    Connection dialog

    Parâmetro

    Descrição

    Exemplo

    Hostname

    O endpoint do banco de dados.

    pc-2***.rwlb.rds.aliyuncs.com

    Port

    O número da porta do endpoint do banco de dados.

    Nota

    A porta padrão é 3306.

    3306

    Username

    A conta do banco de dados.

    polardb_mysql_user

    Password

    A senha da conta do banco de dados.

    Pass***233

Usar a linha de comando para conectar-se ao cluster

Se o servidor já tiver um cliente MySQL instalado, execute o comando abaixo para conectar-se ao cluster PolarDB for MySQL.

Sintaxe:

mysql -h<endpoint> -P<port> -u<database_username> -p<database_user_password>

Exemplo:

mysql -h pc-2***.rwlb.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233

Parâmetro

Descrição

Exemplo

-h

O endpoint do banco de dados.

pc-2***.rwlb.rds.aliyuncs.com

-P

O número da porta do endpoint do banco de dados.

Nota
  • A porta padrão é 3306.

  • Este parâmetro é opcional quando se usa a porta padrão.

3306

-u

A conta do banco de dados.

polardb_mysql_user

-p

A senha da conta do banco de dados.

Nota

Este parâmetro é obrigatório.

  • Se omitido, o sistema solicitará a senha após a mensagem Enter password.

  • Ao incluir este parâmetro, não insira espaço entre -p e a senha.

Pass***233

Usar uma aplicação para conectar-se ao cluster

A conexão a um cluster PolarDB for MySQL segue o mesmo processo de qualquer banco de dados MySQL. Substitua o endpoint, a porta, a conta e a senha pelos valores correspondentes ao seu cluster PolarDB. Veja exemplos por linguagem:

Java

Use o driver JDBC do MySQL em um projeto Maven para conectar-se a um cluster PolarDB for MySQL.

  1. Adicione a dependência do driver JDBC do MySQL ao arquivo pom.xml:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
  2. Conecte-se ao cluster. Substitua <HOST>, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME> e <YOUR_TABLE_COLUMN_NAME> pelos valores reais.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class DatabaseConnection {
       public DatabaseConnection() {
       }
    
       public static void main(String[] args) {
          // The endpoint, port, and name of the database to connect to.
          String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC";
          // The database account.
          String user = "<USER>";
          // The password of the database account.
          String password = "<PASSWORD>";
    
          try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             // The name of the data table to retrieve.
             ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`");
    
             while(rs.next()) {
                // The name of the column in the data table to retrieve.
                System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
             }
    
             rs.close();
             stmt.close();
             conn.close();
          } catch (Exception var7) {
             var7.printStackTrace();
          }
    
       }
    }

Python

Use a biblioteca PyMySQL com Python 3 para conectar-se a um cluster PolarDB for MySQL.

  1. Instale a biblioteca PyMySQL:

    pip3 install PyMySQL
  2. Conecte-se ao cluster. Substitua <HOST>, <USER>, <PASSWORD>, <DATABASE> e <YOUR_TABLE_NAME> pelos valores reais.

    import pymysql
    
    # Database connection parameters
    host = '<HOST>'  # The endpoint of the PolarDB cluster
    port = 3306  # The default port is 3306
    user = '<USER>'  # The database account
    password = '<PASSWORD>'  # The password of the database account
    database = '<DATABASE>'  # The name of the database to connect to
    
    try:
        # Create a database connection
        connection = pymysql.connect(
            host=host,
            port=port,
            user=user,
            passwd=password,
            db=database
        )
    
        # Get the cursor
        with connection.cursor() as cursor:
            # Execute an SQL query
            sql = "SELECT * FROM `<YOUR_TABLE_NAME>`"  # The name of the data table to retrieve
            cursor.execute(sql)
    
            # Get the query results
            results = cursor.fetchall()
            for row in results:
                print(row)
    
    finally:
        # Close the database connection
        if 'connection' in locals() and connection.open:
            connection.close()
    

Go

Use o pacote database/sql e o driver go-sql-driver/mysql (Go 1.23.0) para conectar-se a um cluster PolarDB for MySQL.

  1. Instale o driver go-sql-driver/mysql:

    go get -u github.com/go-sql-driver/mysql
  2. Conecte-se ao cluster. Substitua <HOST>, <USER>, <PASSWORD>, <DATABASE> e <YOUR_TABLE_NAME> pelos valores reais.

    package main
    
    import (
        "database/sql"
        "fmt"
        "log"
        _ "github.com/go-sql-driver/mysql"
    )
    
    func main() {
        // Database connection parameters
        dbHost := "<HOST>"       // The endpoint of the PolarDB cluster
        dbPort := "3306"         // The default port is 3306
        dbUser := "<USER>"       // The database account
        dbPass := "<PASSWORD>"   // The password of the database account
        dbName := "<DATABASE>"   // The name of the database to connect to
    
        // Build the Data Source Name (DSN)
        dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbPort, dbName)
    
        // Open a database connection
        db, err := sql.Open("mysql", dsn)
        if err != nil {
            log.Fatalf("Failed to connect to database: %v", err)
        }
        defer db.Close()
    
        // Test the connection
        err = db.Ping()
        if err != nil {
            log.Fatalf("Failed to ping database: %v", err)
        }
    
        // Create a cursor
        var result string
        err = db.QueryRow("SELECT VERSION()").Scan(&result)
        if err != nil {
            log.Fatalf("Failed to execute query: %v", err)
        }
    
        // Print the database version
        fmt.Printf("Connected to database, version: %s\n", result)
    
        // Execute an SQL query
        rows, err := db.Query("SELECT * FROM `<YOUR_TABLE_NAME>`") // The name of the data table to retrieve
        if err != nil {
            log.Fatalf("Failed to execute query: %v", err)
        }
        defer rows.Close()
    }

Perguntas frequentes

Uma instância ecs não consegue se conectar a um cluster **PolarDB**

Siga estes passos para solucionar o problema:

  1. Verifique se o cluster PolarDB está no estado running.

  2. Confirme se o endpoint do banco de dados, a porta, a conta e a senha estão corretos. Consulte Obter o endpoint e a porta do banco de dados.

  3. Teste a conectividade de rede a partir da instância ecs usando ping <database endpoint> ou telnet <database endpoint> <port>.

    1. Se você estiver usando um endpoint de private network:

      1. Verifique se a instância ecs e o cluster PolarDB pertencem à mesma vpc. Se estiverem em vpcs diferentes, não será possível usar o endpoint de private network. Adote uma das soluções abaixo para colocar a instância ecs e o cluster PolarDB na mesma vpc:

      2. Verifique se o endereço ip privado, o intervalo de endereços ip ou o grupo de segurança da instância ecs foi adicionado à lista de permissões do cluster.

    2. Se você estiver usando um endpoint de public network, verifique se o endereço ip público ou o grupo de segurança da instância ecs consta na lista de permissões do cluster.

Nota

Hosts virtuais e servidores Simple Application Server não podem se conectar ao PolarDB por meio de um endpoint de private network.

Um ambiente local não consegue se conectar a um cluster **PolarDB**

Siga estes passos para solucionar o problema:

  1. Verifique se o cluster PolarDB está no estado running.

  2. Confirme se o endpoint do banco de dados, a porta, a conta e a senha estão corretos. Consulte Obter o endpoint e a porta do banco de dados.

    Nota

    O endpoint do banco de dados deve ser de public network. Se você usar uma instância ecs na mesma vpc do cluster PolarDB, poderá usar um endpoint de private network.

  3. Teste a conectividade de rede a partir do ambiente local usando ping <database endpoint> ou telnet <database endpoint> <port>.

  4. Verifique se o endereço ip público ou o intervalo de endereços ip do ambiente local foi adicionado à lista de permissões do cluster.

    Obtenha seu endereço ip público:

    • Linux: Abra o terminal e execute o comando curl ifconfig.me.

    • Windows: Abra o prompt de comando e execute o comando curl ip.me.

    • macOS: Abra o terminal e execute o comando curl ifconfig.me.

    Se sua rede local usar um servidor proxy ou configurações semelhantes, o endereço ip obtido pelos métodos acima pode não ser o ip público real. Adicione o intervalo de endereços ip 0.0.0.0/0 à lista de permissões do cluster PolarDB. Após conectar-se com sucesso ao cluster, execute o comando SHOW PROCESSLIST; para identificar o ip público real e adicioná-lo à lista de permissões do cluster. Em seguida, remova o intervalo de endereços ip 0.0.0.0/0 da lista de permissões.

    image

    image

Não é possível conectar-se a um cluster **PolarDB** com o erro "Access denied for user 'xxx'@'xxx' (using password: YES)"

A conta ou a senha do banco de dados está incorreta. Acesse o console do PolarDB e verifique ou redefina as credenciais na página Configurations and Management > Account Management.

Não é possível conectar-se a um cluster **PolarDB** com o erro "Unknown MySQL server host 'xxx'"

O endpoint do banco de dados está incorreto. O formato correto é pc-xxxxxx.rwlb.rds.aliyuncs.com. Acesse o console do PolarDB e verifique o endpoint na seção Basic Information > Database Connection.

Não é possível conectar-se a um cluster PolarDB com o erro "Can't connect to MySQL server on 'xxx'" ou "Connection timed out"

Provavelmente o endereço ip público ou o intervalo de endereços ip do seu ambiente não consta na lista de permissões do cluster PolarDB, ou o endereço ip inserido está incorreto.

Obtenha seu endereço ip público:

  • Linux: Abra o terminal e execute o comando curl ifconfig.me.

  • Windows: Abra o prompt de comando e execute o comando curl ip.me.

  • macOS: Abra o terminal e execute o comando curl ifconfig.me.

Se sua rede local usar um servidor proxy ou configurações semelhantes, o endereço ip obtido pelos métodos acima pode não ser o ip público real. Adicione o intervalo de endereços ip 0.0.0.0/0 à lista de permissões do cluster PolarDB. Após conectar-se com sucesso ao cluster, execute o comando SHOW PROCESSLIST; para identificar o ip público real e adicioná-lo à lista de permissões do cluster. Em seguida, remova o intervalo de endereços ip 0.0.0.0/0 da lista de permissões.

image

image

Como alterar o método de conexão no DMS para usar um **cluster endpoint ao conectar-se a um cluster PolarDB**?

Ao usar o DMS para conectar-se a um cluster, a conexão ocorre pelo Primary Endpoint por padrão. Para usar recursos como In-Memory Column Index (IMCI) e PolarDB for AI, alterne para o Cluster Endpoint. Assim, o proxy de banco de dados do PolarDB roteará as instruções SQL para os nós funcionais correspondentes.

Procedimento:

  1. Após conectar-se ao cluster via DMS, localize o cluster desejado na lista Database Instances > Logged-in Instances no painel de navegação à esquerda. Clique com o botão direito nele e selecione Edit Instance.

    image

  2. Na caixa de diálogo Edit Instance, altere Basic Information > Entry Method para Connection String, insira o cluster endpoint do cluster e clique em Save.image

Importante

Após alterar o endpoint, feche a janela SQL existente e abra uma nova. A janela original continua usando o Primary Endpoint, e não o Connection String Address atualizado.

Por que ocorrem erros de conexão após definir o peso de um nó somente leitura como 0 em um endpoint de cluster e depois remover o nó?

  • Cenário: Você precisa remover um nó somente leitura de um endpoint de cluster. Para evitar impacto nas conexões existentes, primeiro defina o peso de divisão de leitura/gravação desse nó como 0. A expectativa é que, com peso zero, as solicitações de leitura subsequentes não sejam mais enviadas a esse nó. No entanto, após remover o nó do endpoint de cluster, ocorrem erros de conexão na aplicação.

  • Causa: Um endpoint de cluster possui duas Load Balancing Policy: Active Request-based Load Balancing e Connections-based Load Balancing:

    • Active Request-based Load Balancing: Ao reduzir o peso de um nó somente leitura para 0, as solicitações subsequentes deixam de ser roteadas para esse nó.

    • Connections-based Load Balancing: O balanceamento de carga ocorre apenas durante a fase de estabelecimento da conexão. Se uma conexão previamente estabelecida estiver vinculada a um nó somente leitura, todas as solicitações subsequentes nessa conexão continuarão sendo enviadas para esse mesmo nó.

  • Solução:

    1. Altere a Load Balancing Policy do endpoint de cluster para Active Request-based Load Balancing.

    2. Defina o peso de divisão de leitura/gravação do nó somente leitura alvo como 0.

    3. Remova o nó somente leitura.

Referências