Todos os produtos
Search
Central de documentação

PolarDB:Connect to a database

Última atualização: Sep 18, 2026

Conecte-se a um cluster do PolarDB for MySQL usando DMS, um cliente MySQL, a linha de comando ou o código do aplicativo.

Pré-requisitos

Conclua as tarefas a seguir antes de se conectar:

  • Obtenha o endpoint e a porta do banco de dados

    Acesse o PolarDB console. Em Cluster List, clique em ID do cluster de destino para abrir a página de detalhes do cluster. Na seção Database Connection, obtenha o database endpoint (primary endpoint, cluster endpoint, and custom endpoint).image

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

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

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

      • Se você acessar o PolarDB a partir de um ambiente on-premises, selecione public network. Para obter um endpoint público, clique em Request à direita.

    • A public network corresponde à Internet. Acessar o cluster pela public network pode não oferecer o desempenho ideal para o seu cluster PolarDB.

    • Hosts virtuais e simple application servers não conseguem se conectar ao PolarDB por meio de um endpoint de private network.

  • Crie uma conta de banco de dados

    Acesse o PolarDB console. Em Cluster List, clique em ID do cluster de destino para abrir a página de detalhes do cluster. Na página Configurations and Management > Account Management, create a database account.image

    Nota

    As contas de banco de dados dividem-se em privileged accounts e standard accounts, com permissões diferentes. Crie uma conta de acordo com a sua necessidade.

  • Configure uma whitelist de cluster

    Acesse o PolarDB console. Em Cluster List, clique em ID do cluster de destino para abrir a página de detalhes do cluster. Na página Configurations and Management > Cluster Whitelist, adicione um IP whitelist ou um security group.

    image

    Nota
    • Se você usar uma instância ecs para acessar o PolarDB e a instância ecs estiver na mesma vpc do cluster PolarDB, adicione o endereço IP privado da instância ecs a um novo grupo de whitelist de IP ou adicione o grupo de segurança da instância ecs à whitelist do cluster.

    • Se você usar uma instância ecs para acessar o PolarDB, mas a instância ecs não estiver na mesma vpc do cluster PolarDB, adicione o endereço IP público da instância ecs a um novo grupo de whitelist de IP ou adicione o grupo de segurança da instância ecs à whitelist do cluster.

    • Se você acessar o PolarDB a partir de um ambiente on-premises, adicione o endereço IP público do seu ambiente on-premises a um novo grupo de whitelist de IP.

      Obtenha seu endereço IP público:

      • Sistema operacional Linux: abra o terminal e execute o comando curl ifconfig.me.

      • Sistema operacional Windows: abra o prompt de comando e execute o comando curl ip.me.

      • Sistema operacional macOS: abra o terminal e execute o comando curl ifconfig.me.

      Se o seu ambiente de rede on-premises usa um servidor proxy ou tem configurações semelhantes, o endereço IP obtido pelos métodos anteriores pode não ser o seu endereço IP público real. Nesse caso, adicione a faixa de endereços IP 0.0.0.0/0 à whitelist do cluster PolarDB. Após conectar-se com sucesso ao cluster, execute o comando SHOW PROCESSLIST; para obter o endereço IP público real e adicioná-lo à whitelist do cluster. Em seguida, remova a faixa de endereços IP 0.0.0.0/0 da whitelist.

      image

    • A faixa de endereços IP 0.0.0.0/0 libera o acesso a partir de qualquer origem, o que representa uma ameaça significativa à segurança. Não a adicione à whitelist, a menos que seja realmente necessário.

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

Conectar-se a um cluster de banco de dados

Escolha um método de conexão que atenda às suas necessidades:

Use o DMS para se conectar ao cluster

O DMS é um service gráfico de gerenciamento de dados da Alibaba Cloud. Gerencie seu cluster PolarDB diretamente no DMS, sem precisar instale ferramentas adicionais.

  1. Acesse o PolarDB console. Em Cluster List, clique em ID do cluster de destino para abrir a página de detalhes do cluster. No canto superior direito da página, clique em Log on to Database.image

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

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

Use um cliente para se conectar ao cluster

Use qualquer cliente compatível com MySQL para se conectar a um cluster PolarDB. O exemplo a seguir utiliza 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. Insira as informações de conexão e clique em OK.

    Connection dialog

    Parâmetro

    Descrição

    Exemplo

    Hostname

    O database endpoint.

    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

    O database account.

    polardb_mysql_user

    Password

    A senha da conta de banco de dados.

    Pass***233

Use a linha de comando para se conectar ao cluster

Se houver um cliente MySQL instalado no seu servidor, execute o comando a seguir para se conectar 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 database endpoint.

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

-P

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

Nota
  • A porta padrão é 3306.

  • Se a porta for a padrão, omita este parâmetro.

3306

-u

O database account.

polardb_mysql_user

-p

A senha da conta de banco de dados.

Nota

Este parâmetro é obrigatório.

  • Se você omitir esse parâmetro, será solicitado que informe a senha após Enter password.

  • Se você incluir esse parâmetro, não adicione espaço entre -p e a senha.

Pass***233

Use um aplicativo para se conectar ao cluster

Conectar-se a um cluster PolarDB for MySQL é o mesmo que se conectar a qualquer banco de dados MySQL. Substitua o endpoint, a porta, a conta e a senha pelos valores do seu cluster PolarDB. Exemplos por linguagem:

Java

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

  1. Adicione a dependência do MySQL JDBC driver ao seu 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 seus 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 se conectar 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 seus 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 se conectar 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 seus 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()
    }

FAQ

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

Siga estas etapas de solução de problemas:

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

  2. Verifique se o endpoint, a porta, a conta e a senha do banco de dados estão corretos. Obtain the database endpoint and port.

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

    1. Se estiver usando um endpoint de private network:

      1. Verifique se a instância ecs e o cluster PolarDB estão na mesma vpc. Caso não estejam, o endpoint de private network não pode ser usado. Utilize uma das soluções a seguir para colocar a instância ecs e o cluster PolarDB na mesma vpc:

      2. Verifique se o endereço IP privado, a faixa de endereços IP ou o grupo de segurança da instância ecs foi adicionado à cluster whitelist.

    2. Se 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 foi adicionado à cluster whitelist.

Nota

Hosts virtuais e simple application servers não conseguem se conectar ao PolarDB por meio de um endpoint de private network.

Um ambiente on-premises não consegue se conectar a um cluster **PolarDB**

Siga estas etapas de solução de problemas:

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

  2. Verifique se o endpoint, a porta, a conta e a senha do banco de dados estão corretos. Obtain the database endpoint and port.

    Nota

    O endpoint do banco de dados deve ser um endpoint de public network. Se estiver usando uma instância ecs que está na mesma vpc do cluster PolarDB, use um endpoint de private network.

  3. Teste a conectividade de rede a partir do seu ambiente on-premises usando ping <database endpoint> ou telnet <database endpoint> <port>.

  4. Verifique se o endereço IP público ou a faixa de endereços IP do seu ambiente on-premises foi adicionado à cluster whitelist.

    Obtenha seu endereço IP público:

    • Sistema operacional Linux: abra o terminal e execute o comando curl ifconfig.me.

    • Sistema operacional Windows: abra o prompt de comando e execute o comando curl ip.me.

    • Sistema operacional macOS: abra o terminal e execute o comando curl ifconfig.me.

    Se o seu ambiente de rede on-premises usa um servidor proxy ou tem configurações semelhantes, o endereço IP obtido pelos métodos anteriores pode não ser o seu endereço IP público real. Nesse caso, adicione a faixa de endereços IP 0.0.0.0/0 à whitelist do cluster PolarDB. Após conectar-se com sucesso ao cluster, execute o comando SHOW PROCESSLIST; para obter o endereço IP público real e adicioná-lo à whitelist do cluster. Em seguida, remova a faixa de endereços IP 0.0.0.0/0 da whitelist.

    image

Não é possível se conectar 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 PolarDB console e verifique ou redefina as credenciais na página Configurations and Management > Account Management.

Não é possível se conectar 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 PolarDB console e verifique o endpoint na seção Basic Information > Database Connection.

Não é possível se conectar 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 a faixa de endereços IP do seu ambiente não está na whitelist do cluster PolarDB, ou o endereço IP informado está incorreto.

Obtenha seu endereço IP público:

  • Sistema operacional Linux: abra o terminal e execute o comando curl ifconfig.me.

  • Sistema operacional Windows: abra o prompt de comando e execute o comando curl ip.me.

  • Sistema operacional macOS: abra o terminal e execute o comando curl ifconfig.me.

Se o seu ambiente de rede on-premises usa um servidor proxy ou tem configurações semelhantes, o endereço IP obtido pelos métodos anteriores pode não ser o seu endereço IP público real. Nesse caso, adicione a faixa de endereços IP 0.0.0.0/0 à whitelist do cluster PolarDB. Após conectar-se com sucesso ao cluster, execute o comando SHOW PROCESSLIST; para obter o endereço IP público real e adicioná-lo à whitelist do cluster. Em seguida, remova a faixa de endereços IP 0.0.0.0/0 da whitelist.

image

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

Ao use DMS to connect to a cluster, o DMS conecta-se por meio do Primary Endpoint por padrão. Para utilizar recursos como In-Memory Column Index (IMCI) e PolarDB for AI, alterne para o Cluster Endpoint para que o proxy de banco de dados do PolarDB encaminhe as instruções SQL aos nós funcionais correspondentes.

Procedimento:

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

    image

  2. Na caixa de diálogo Edit Instance, altere Basic Information > Entry Method para Connection String, informe 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 depois que eu defino como 0 o peso de um nó somente leitura em um cluster endpoint e, em seguida, removo o nó?

  • Cenário: você precisa remover um nó somente leitura de um cluster endpoint. Para evitar impacto nas conexões com o nó, primeiro defina como 0 o peso de read/write splitting do nó somente leitura. A expectativa é que, após o peso ser definido como 0, as solicitações de leitura subsequentes não sejam enviadas a esse nó. No entanto, depois que você remove o nó do cluster endpoint, ocorrem erros de conexão no lado do aplicativo.

  • Causa: um cluster endpoint tem duas Load Balancing Policy: Active Request-based Load Balancing e Connections-based Load Balancing:

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

    • Connections-based Load Balancing: o balanceamento de carga só ocorre na fase de estabelecimento da conexão. Se uma conexão já estabelecida estiver ligada a um nó somente leitura, as solicitações subsequentes nessa conexão continuarão sendo enviadas para esse nó.

  • Solução:

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

    2. Defina como 0 o peso de read/write splitting do nó somente leitura de destino.

    3. Remova o nó somente leitura.

Referências