Todos los productos
Search
Centro de documentos

PolarDB:Connect to a database

Última actualización: Sep 08, 2026

Puede conectarse a una instancia de PolarDB-X mediante Data Management (DMS), la CLI de MySQL, clientes de terceros compatibles con MySQL o el código de su aplicación.

Requisitos previos

Antes de conectarse a una base de datos de PolarDB-X, complete los pasos que se muestran a continuación:

  • Obtención del endpoint y el puerto de la base de datos

    Vaya a la consola de PolarDB for Distributed. En la lista Instances, haga clic en el identificador de la instancia de destino para consultar su información básica. En la sección Connection Information, localice el endpoint y el puerto de la base de datos.

    Nota
    • Seleccione Intranet o External network según su entorno de acceso.

      • Si utiliza una instancia de ECS para acceder a PolarDB-X y ambas están en la misma VPC, seleccione Internal Network para obtener el mejor rendimiento de PolarDB-X.

      • Si accede a PolarDB-X desde su entorno local, seleccione Internet. Para obtener un endpoint público, haga clic en Apply for Public IP Address en el lado derecho. La opción Internet corresponde a la red pública. El acceso a la instancia de PolarDB-X mediante Internet no ofrece un rendimiento óptimo.

    • No es posible usar Internal Network para conectarse a una instancia de PolarDB-X desde un host virtual o una instancia de Simple Application Server.

  • Create a database account.

  • Configuración de la lista blanca de la instancia

    Vaya a la consola de PolarDB for Distributed y haga clic en el identificador de la instancia de destino dentro de la lista Instances. En el panel de navegación izquierdo, elija Configuration and Management > Security Management. En la página que aparece, configure una lista blanca de direcciones IP en Configuration o haga clic en Add Whitelist. Para más información, consulte Configure whitelists.

    En la página de configuración de listas blancas puede consultar la lista de grupos y gestionar las entradas con los botones correspondientes.

    Nota
    • Si usa una instancia de ECS para acceder a PolarDB-X y esta se encuentra en la misma VPC que la instancia de PolarDB-X, agregue la dirección IP privada de la instancia de ECS a un nuevo grupo de lista blanca de direcciones IP.

    • Si usa una instancia de ECS para acceder a PolarDB-X, pero está en una VPC distinta a la de la instancia de PolarDB-X, agregue la dirección IP pública de la instancia de ECS a un nuevo grupo de lista blanca de direcciones IP.

    • Si accede a PolarDB-X desde un entorno local, agregue la dirección IP pública de dicho entorno a un nuevo grupo de lista blanca de direcciones IP.

      Para obtener la dirección IP pública de su entorno local, siga uno de estos procedimientos:

      • Sistemas operativos Linux: abra la terminal, introduzca el comando curl ifconfig.me y presione Entrar.

      • Windows: abra el símbolo del sistema, introduzca el comando curl ip.me y presione Entrar.

      • macOS: abra Terminal, introduzca el comando curl ifconfig.me y presione Entrar.

      Si su red local está detrás de un proxy, es posible que la dirección IP obtenida no sea su dirección IP pública real. Agregue el rango de direcciones IP 0.0.0.0/0 a la lista blanca de la instancia de PolarDB-X. Una vez que se conecte correctamente a la instancia, ejecute el comando SHOW PROCESSLIST; para obtener su dirección IP pública real y agréguela a la lista blanca de la instancia. Después, elimine el rango de direcciones IP 0.0.0.0/0 de la lista blanca.

      39158 | aurora              | 100.104.108.247:39236 | information_schema | Sleep  |          47 |              | NULL
                                          Actual public IP address
      268459868 | polardb_mysql_account | 47.94.74.xxx:39160    | NULL               | Query  |           0 | starting     | SHOW PROCESSLIST
    • El rango de direcciones IP 0.0.0.0/0 permite el acceso desde cualquier origen. Agregar este rango a la lista blanca de una instancia genera un riesgo de seguridad alto. No lo incluya en la lista blanca a menos que sea estrictamente necesario.

Conexión a la base de datos

Puede conectarse a una instancia de base de datos de varias maneras, según su carga de trabajo. A continuación se muestran algunos ejemplos comunes.

DMS

Data Management (DMS) es una herramienta gráfica de gestión de datos proporcionada por Alibaba Cloud. Integra un conjunto de servicios que incluye gestión de datos, gestión de esquemas, autorización de usuarios, auditoría de seguridad, tendencias de datos, trazabilidad de datos, gráficos de BI, optimización del rendimiento y gestión de servidores. Con DMS puede gestionar directamente su instancia de PolarDB-X sin necesidad de otras herramientas.

  1. Vaya a la consola de PolarDB for Distributed. En la lista Instances, haga clic en el ID de la instancia de destino para abrir su página de detalles. En la esquina superior derecha de la página, haga clic en Log On to Database.

  2. En el cuadro de diálogo, introduzca los valores de Database Account y Database Password correspondientes a la instancia de PolarDB-X. Después, haga clic en Search.

    Nota
    • La primera vez que inicie sesión mediante DMS, el modo de control será Flexible Management de forma predeterminada. Una vez iniciada la sesión, podrá cambiar este modo si edita la instancia. Para obtener más información, consulte Edit instance information y Control modes.

    • Después de configurar los parámetros de inicio de sesión, haga clic en Test Connectivity en la esquina inferior izquierda. Si la conexión finaliza con errores, revise el mensaje de error y compruebe la información que introdujo, como la cuenta o la contraseña.

    • El sistema intenta agregar automáticamente las direcciones IP de los servidores de DMS a la lista blanca de la instancia de PolarDB-X. Si este intento falla, debe agregar las direcciones IP de forma manual.

  3. Una vez iniciada la sesión, la instancia de PolarDB-X aparecerá en la sección Connected Instances del panel de navegación izquierdo. Desde ahí podrá gestionar la instancia.

Cliente GUI

PolarDB-X admite conexiones desde los clientes de terceros que se indican a continuación. Puede descargar estos clientes desde sus sitios web oficiales.

  • MySQL Workbench (recomendado)

  • SQLyog

  • Sequel Pro

  • Navicat for MySQL

Nota

Los clientes GUI de terceros admiten operaciones básicas de base de datos, incluidas CRUD y DDL. Es posible que PolarDB-X no sea compatible con funciones avanzadas específicas de cada cliente.

A continuación se utiliza MySQL Workbench 8.0.29 como ejemplo. El procedimiento es similar en otros clientes.

  1. Instale MySQL Workbench. Para acceder al enlace de descarga oficial, consulte la página de descarga de MySQL Workbench.

  2. Abra MySQL Workbench y seleccione Database > Connect to Database.

  3. Introduzca la información de conexión y haga clic en OK.

    Parámetro

    Descripción

    Ejemplo

    Hostname

    El database endpoint.

    pxc-xxx.polarx.rds.aliyuncs.com

    Port

    El número de puerto que corresponde al endpoint de la base de datos.

    Nota

    El puerto predeterminado es 3306.

    3306

    Username

    El database account.

    polardb_x_user

    Password

    La contraseña de la cuenta de la base de datos.

    Pass***233

CLI de MySQL

Si tiene instalado un cliente de MySQL en su servidor, puede usar la línea de comandos para conectarse a su instancia de PolarDB-X.

Sintaxis:

mysql -h<endpoint> -P<port> -u<database_username> -p<database_password> -D<database_name>

Ejemplo:

mysql -hpxc-xxx.polarx.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233 -Dtest_db

Parámetro

Descripción

Ejemplo

-h

El database endpoint.

pxc-xxx.polarx.rds.aliyuncs.com

-P

El número de puerto que corresponde al endpoint de la base de datos.

Nota
  • El puerto predeterminado es 3306.

  • Si usa el puerto predeterminado, puede omitir este parámetro.

3306

-u

El database account.

polardb_x_user

-p

La contraseña de la cuenta de la base de datos.

Nota

Este parámetro es obligatorio.

  • Si no especifica este parámetro, el sistema le pedirá de nuevo que introduzca la contraseña en el indicador Enter password.

  • Si especifica este parámetro, no deje ningún espacio entre -p y la contraseña de la base de datos.

Pass***233

-D

El nombre de la base de datos a la que desea conectarse.

Nota

Este parámetro es opcional.

test_db

Aplicación

Conectarse a una instancia de PolarDB-X desde una aplicación es similar a hacerlo con una base de datos MySQL estándar. Solo necesita el endpoint de la base de datos, el puerto, la cuenta y la contraseña. A continuación se muestra cómo acceder a una instancia de PolarDB-X con lenguajes de programación comunes:

Java

Este ejemplo utiliza un proyecto Maven y el controlador JDBC de MySQL para conectarse a una instancia de PolarDB-X.

  1. Primero, agregue la dependencia del controlador JDBC de MySQL al archivo pom.xml. A continuación se muestra un ejemplo de código:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
  2. Conéctese a la instancia. Reemplace los parámetros <HOST>, el número de puerto, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME> y <YOUR_TABLE_COLUMN_NAME>.

    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) {
          // PolarDB-X instance endpoint, port, and database name
          String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC";
          // Database account
          String user = "<USER>";
          // Database password
          String password = "<PASSWORD>";
          try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             // Table to query
             ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`");
             while(rs.next()) {
                // Column to retrieve
                System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
             }
             rs.close();
             stmt.close();
             conn.close();
          } catch (Exception var7) {
             var7.printStackTrace();
          }
       }
    }

Python

Este ejemplo utiliza Python 3 y la biblioteca PyMySQL para conectarse a una instancia de PolarDB-X.

  1. Instale la biblioteca PyMySQL. Si aún no está instalada, ejecute el siguiente comando:

    pip3 install PyMySQL
  2. Conéctese a la instancia. Reemplace los parámetros <HOST>, el número de puerto, <USER>, <PASSWORD>, <DATABASE> y <YOUR_TABLE_NAME>.

    import pymysql
    # Connection parameters
    host = '<HOST>'  # PolarDB-X instance endpoint
    port = 3306  # Default port is 3306
    user = '<USER>'  # Database account
    password = '<PASSWORD>'  # Database password
    database = '<DATABASE>'  # Target database name
    try:
        # Create a database connection
        connection = pymysql.connect(
            host=host,
            port=port,
            user=user,
            passwd=password,
            db=database
        )
        # Create a cursor
        with connection.cursor() as cursor:
            # Run an SQL query
            sql = "SELECT * FROM `<YOUR_TABLE_NAME>`"  # Table to query
            cursor.execute(sql)
            # Fetch 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

Este ejemplo utiliza Go 1.23.0, el paquete database/sql y el controlador go-sql-driver/mysql para conectarse a una instancia de PolarDB-X.

  1. Primero, instale el controlador go-sql-driver/mysql. Para instalarlo, ejecute el siguiente comando:

    go get -u github.com/go-sql-driver/mysql
  2. Conéctese a la instancia. Reemplace los parámetros <HOST>, el número de puerto, <USER>, <PASSWORD>, <DATABASE> y <YOUR_TABLE_NAME>.

    package main
    import (
        "database/sql"
        "fmt"
        "log"
        _ "github.com/go-sql-driver/mysql"
    )
    func main() {
        // Connection parameters
        dbHost := "<HOST>"       // PolarDB-X instance endpoint
        dbPort := "3306"         // Default port is 3306
        dbUser := "<USER>"       // Database account
        dbPass := "<PASSWORD>"   // Database password
        dbName := "<DATABASE>"   // Target database name
        // Build the DSN (Data Source Name)
        dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbPort, dbName)
        // Open the database connection
        db, err := sql.Open("mysql", dsn)
        if err != nil {
            log.Fatalf("Failed to connect to database: %v", err)
        }
        defer db.Close()
        // Ping the server to test the connection
        err = db.Ping()
        if err != nil {
            log.Fatalf("Failed to ping database: %v", err)
        }
        // Query the server version
        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)
        // Run an SQL query
        rows, err := db.Query("SELECT * FROM `<YOUR_TABLE_NAME>`") // Table to query
        if err != nil {
            log.Fatalf("Failed to execute query: %v", err)
        }
        defer rows.Close()
        // Process the query results
        for rows.Next() {
            var id int
            var name string
            if err := rows.Scan(&id, &name); err != nil {
                log.Fatalf("Failed to scan row: %v", err)
            }
            fmt.Printf("ID: %d, Name: %s\n", id, name)
        }
        // Check for errors during row iteration
        if err := rows.Err(); err != nil {
            log.Fatalf("Error during iteration: %v", err)
        }
    }
    

Preguntas frecuentes

No es posible conectar una instancia de ECS a una instancia de **PolarDB-X **

Siga estos pasos para solucionar el problema:

  1. Compruebe si la instancia de PolarDB-X se encuentra en el estado Running.

  2. Compruebe database endpoint and port y account and password.

  3. Descarte problemas de red. Para ello, ejecute ping <database endpoint> o telnet <database endpoint> <port> en una instancia de ECS y compruebe la conectividad de red.

  4. Si utiliza una Internal Network:

    1. Compruebe si la instancia de ECS y la instancia de PolarDB-X pertenecen a la misma VPC. De lo contrario, no podrá usar la Internal Network. Utilice uno de los métodos a continuación para ubicar ambas instancias en la misma VPC:

      • Cambie la VPC de la instancia de ECS.

      • Si la instancia de PolarDB-X usa la VPC predeterminada, cambie la VPC de dicha instancia.

      • Use Cloud Enterprise Network (CEN) para habilitar la comunicación entre las VPC. Para obtener más información, consulte Connect VPCs in the same region.

    2. Compruebe si la dirección IP privada o el bloque CIDR de la instancia de ECS está agregado a la lista blanca de la instancia de PolarDB-X. Para obtener más información, consulte Configure an instance whitelist.

  5. Si utiliza una Internet, compruebe si la dirección IP pública de la instancia de ECS está agregada a la lista blanca de la instancia de PolarDB-X. Para obtener más información, consulte Configure an instance whitelist.

Nota

No es posible usar una Internal Network para conectarse a una instancia de PolarDB-X desde un host virtual o una instancia de Simple Application Server.

No es posible conectarse a una instancia de **PolarDB-X** desde un entorno local

Siga estos pasos para solucionar el problema:

  1. Compruebe si la instancia de PolarDB-X se encuentra en el estado Running.

  2. Compruebe database endpoint and port y account and password.

    Nota

    Para conectarse desde un entorno local, debe usar una Internet. La Internal Network solo funciona cuando el cliente y la instancia de PolarDB-X están en la misma VPC.

  3. Para descartar problemas de red, ejecute ping <database endpoint> o telnet <database endpoint> <port> en su entorno local y compruebe la conectividad de red.

  4. Compruebe si la dirección IP pública o el bloque CIDR de su entorno local está agregado a la lista blanca de la instancia de PolarDB-X. Para obtener más información, consulte Configure an instance whitelist.

    Para obtener la dirección IP pública de su entorno local, siga uno de estos pasos:

    • En sistemas operativos Linux: abra la terminal, introduzca el comando curl ifconfig.me y presione Entrar.

    • En Windows: abra el símbolo del sistema, introduzca el comando curl ip.me y presione Entrar.

    • En macOS: abra Terminal, introduzca el comando curl ifconfig.me y presione Entrar.

    Si su red local está detrás de un proxy, es posible que la dirección IP obtenida no sea su dirección IP pública real. Agregue el rango de direcciones IP 0.0.0.0/0 a la lista blanca de la instancia de PolarDB-X. Una vez que se conecte correctamente a la instancia, ejecute el comando SHOW PROCESSLIST; para obtener su dirección IP pública real y agréguela a la lista blanca de la instancia. Después, elimine el rango de direcciones IP 0.0.0.0/0 de la lista blanca.

    39158 | aurora              | 100.104.108.247:39236 | information_schema | Sleep  |          47 |              | NULL
                                        Actual public IP address
    268459868 | polardb_mysql_account | 47.94.74.xxx:39160    | NULL               | Query  |           0 | starting     | SHOW PROCESSLIST

No es posible conectarse a una **instancia de PolarDB-X** y se muestra el error: Access denied for user 'xxx'@'xxx' (using password: YES)

Un mensaje de error como "Access denied for user 'xxx'@'xxx' (using password: YES)" indica que la cuenta o la contraseña de la base de datos son incorrectas. Compruebe sus credenciales. Diríjase a la consola de PolarDB for Distributed y elija Configuration and Management > Accounts para manage your database account and password.

No es posible conectarse a una instancia de PolarDB-X: error 'Unknown MySQL server host 'xxx''

Este error indica que el endpoint de la base de datos es incorrecto. Asegúrese de que el endpoint sea correcto y siga el formato pxc-xxx.polarx.rds.aliyuncs.com. Diríjase a la consola de PolarDB for Distributed y busque el endpoint de su base de datos en la sección Basic Information > Connection Information.

No es posible conectarse a una instancia de PolarDB-X y se muestra el error: Can't connect to MySQL server on 'xxx' o Connection timed out

Esto ocurre cuando la dirección IP pública de su entorno no está agregada a la lista blanca de la instancia de PolarDB-X, o bien cuando la entrada de la lista blanca es incorrecta.

Para obtener la dirección IP pública de su entorno local, siga uno de los pasos a continuación:

  • En sistemas operativos Linux: abra la terminal, introduzca el comando curl ifconfig.me y presione Enter.

  • En Windows: abra el símbolo del sistema, introduzca el comando curl ip.me y presione Enter.

  • En macOS: abra Terminal, introduzca el comando curl ifconfig.me y presione Enter.

Si su red local está detrás de un proxy, es posible que la dirección IP obtenida no sea su dirección IP pública real. En ese caso, agregue el rango de direcciones IP 0.0.0.0/0 a la lista blanca de la instancia de PolarDB-X. Una vez que se conecte correctamente a la instancia, ejecute el comando SHOW PROCESSLIST; para obtener su dirección IP pública real y agréguela a la lista blanca de la instancia. Después, elimine el rango de direcciones IP 0.0.0.0/0 de la lista blanca.

39158 | aurora              | 100.104.108.247:39236 | information_schema | Sleep  |          47 |              | NULL
                                    Actual public IP address
268459868 | polardb_mysql_account | 47.94.74.xxx:39160    | NULL               | Query  |           0 | starting     | SHOW PROCESSLIST

Mejores prácticas para los tiempos de espera de la base de datos

Si su aplicación utiliza un framework común de mapeo objeto-relacional (ORM), como Spring Boot, MyBatis o un controlador JDBC, dicho framework suele permitir configurar tiempos de espera del lado del cliente para las consultas SQL en varias capas, como transacciones, sentencias SQL y E/S de red. Algunos ejemplos son transaction_timeout de Spring, statement_timeout de MyBatis y query_timeout del controlador JDBC de MySQL.

En esencia, la mayoría de estos mecanismos de tiempo de espera del lado del cliente necesitan ejecutar una sentencia Kill de la base de datos para interrumpir las consultas. En escenarios de bases de datos distribuidas, las sentencias Kill tienen un costo de ejecución alto. Además, si se ejecutan con frecuencia, consumen una cantidad considerable de recursos del sistema de la base de datos. Por lo tanto, no se recomienda usar estos mecanismos de tiempo de espera de forma generalizada.

Como mejor práctica, configure directamente el parámetro socket_timeout (tiempo de espera del socket de red) en la URL de JDBC para especificar el tiempo de espera de ejecución de SQL. Este parámetro se basa en el mecanismo de tiempo de espera propio del protocolo TCP, por lo que no se activa ninguna sentencia Kill cuando ocurre un tiempo de espera. Por ejemplo:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  <property name="url" value="jdbc:mysql://pxc-*****.public.polarx.rds.aliyuncs.com:3306/doc_test?socketTimeout=60000" />
  ...
  <property name="asyncInit" value="true" />
</bean>