Tous les produits
Search
Centre de documentation

PolarDB:Connect to a database

Dernière mise à jour :Sep 18, 2026

Connectez-vous à un cluster PolarDB for MySQL via DMS, un client MySQL, la ligne de commande ou le code d'une application.

Prérequis

Effectuez les tâches suivantes avant de vous connecter :

  • Obtenir l'endpoint et le port de la base de données

    Accédez à la console PolarDB. Dans la liste Cluster List, cliquez sur l'ID du cluster cible pour accéder à la page des détails du cluster. Dans la section Database Connection, récupérez l'endpoint de la base de données (endpoint principal, endpoint de cluster et endpoint personnalisé).image

    Remarque
    • Utilisez l'cluster endpoint. Le port par défaut est 3306.

    • Sélectionnez private network ou public network en fonction de votre environnement d'accès.

      • Si vous utilisez une instance ECS pour accéder à PolarDB et que l'instance ECS et le cluster PolarDB se trouvent dans le même VPC, sélectionnez private network.

      • Si vous accédez à PolarDB depuis un environnement local, sélectionnez public network. Pour obtenir un endpoint public, cliquez sur Request à droite.

    • Le public network correspond à Internet. L'accès au cluster via le public network peut ne pas offrir des performances optimales pour votre cluster PolarDB.

    • Les hôtes virtuels et les Simple Application Server ne peuvent pas se connecter à PolarDB via un endpoint private network.

  • Créer un compte de base de données

    Accédez à la console PolarDB. Dans la liste Cluster List, cliquez sur l'ID du cluster cible pour accéder à la page des détails du cluster. Sur la page Configurations and Management > Account Management, créez un compte de base de données.image

    Remarque

    Les comptes de base de données sont classés en privileged accounts et standard accounts, avec des autorisations différentes. Créez un compte en fonction de vos besoins.

  • Configurer la liste blanche du cluster

    Accédez à la console PolarDB. Dans la liste Cluster List, cliquez sur l'ID du cluster cible pour accéder à la page des détails du cluster. Sur la page Configurations and Management > Cluster Whitelist, ajoutez une liste blanche d'adresses IP ou un groupe de sécurité.

    image

    Remarque
    • Si vous utilisez une instance ECS pour accéder à PolarDB et que l'instance ECS et le cluster PolarDB se trouvent dans le même VPC, ajoutez l'adresse IP privée de l'instance ECS à un nouveau groupe de liste blanche d'adresses IP, ou ajoutez le groupe de sécurité de l'instance ECS à la liste blanche du cluster.

    • Si vous utilisez une instance ECS pour accéder à PolarDB, mais que l'instance ECS et le cluster PolarDB ne se trouvent pas dans le même VPC, ajoutez l'adresse IP publique de l'instance ECS à un nouveau groupe de liste blanche d'adresses IP, ou ajoutez le groupe de sécurité de l'instance ECS à la liste blanche du cluster.

    • Si vous accédez à PolarDB depuis un environnement local, ajoutez l'adresse IP publique de votre environnement local à un nouveau groupe de liste blanche d'adresses IP.

      Pour obtenir votre adresse IP publique :

      • Système d'exploitation Linux : ouvrez le terminal et exécutez la commande curl ifconfig.me.

      • Système d'exploitation Windows : ouvrez l'invite de commandes et exécutez la commande curl ip.me.

      • Système d'exploitation macOS : ouvrez le terminal et exécutez la commande curl ifconfig.me.

      Si votre environnement réseau local utilise un serveur proxy ou présente d'autres configurations similaires, l'adresse IP obtenue via les méthodes précédentes peut ne pas correspondre à votre véritable adresse IP publique. Ajoutez la plage d'adresses IP 0.0.0.0/0 à la liste blanche du cluster PolarDB. Une fois la connexion au cluster établie avec succès, exécutez la commande SHOW PROCESSLIST; pour obtenir la véritable adresse IP publique et l'ajouter à la liste blanche du cluster. Ensuite, supprimez la plage d'adresses IP 0.0.0.0/0 de la liste blanche.

      image

    • La plage d'adresses IP 0.0.0.0/0 autorise l'accès depuis toutes les sources, ce qui constitue une menace importante pour la sécurité. Ne l'ajoutez pas à la liste blanche sauf si cela est nécessaire.

Une fois les prérequis remplis, connectez-vous au cluster.

Connexion à un cluster de base de données

Choisissez une méthode de connexion adaptée à vos besoins :

Utiliser DMS pour se connecter au cluster

DMS est un service graphique de gestion des données proposé par Alibaba Cloud. Vous pouvez gérer votre cluster PolarDB directement dans DMS sans installer d'outils supplémentaires.

  1. Accédez à la console PolarDB. Dans la liste Cluster List, cliquez sur l'ID du cluster cible pour accéder à la page des détails du cluster. Dans le coin supérieur droit de la page, cliquez sur Log on to Database.image

  2. Saisissez votre database account et votre database password pour le cluster PolarDB for MySQL, puis cliquez sur Log on.image

  3. Après la connexion, recherchez le cluster PolarDB for MySQL dans la liste Logged-in Instances du volet de navigation de gauche.image

Utiliser un client pour se connecter au cluster

Vous pouvez utiliser n'importe quel client compatible avec MySQL pour vous connecter à un cluster PolarDB. L'exemple suivant utilise MySQL Workbench 8.0.29.

  1. Téléchargez et installez MySQL Workbench.

  2. Ouvrez MySQL Workbench et choisissez Database > Connect to Database.

  3. Saisissez les informations de connexion et cliquez sur OK.

    Connection dialog

    Parameter

    Description

    Example

    Hostname

    L'endpoint de la base de données.

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

    Port

    Le numéro de port de l'endpoint de la base de données.

    Remarque

    Le port par défaut est 3306.

    3306

    Username

    Le compte de base de données.

    polardb_mysql_user

    Password

    Le mot de passe du compte de base de données.

    Pass***233

Utiliser la ligne de commande pour se connecter au cluster

Si un client MySQL est installé sur votre serveur, exécutez la commande suivante pour vous connecter au cluster PolarDB for MySQL.

Syntaxe :

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

Exemple :

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

Parameter

Description

Example

-h

L'endpoint de la base de données.

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

-P

Le numéro de port de l'endpoint de la base de données.

Remarque
  • Le port par défaut est 3306.

  • Si le port est le port par défaut, vous pouvez omettre ce paramètre.

3306

-u

Le compte de base de données.

polardb_mysql_user

-p

Le mot de passe du compte de base de données.

Remarque

Ce paramètre est obligatoire.

  • Si vous omettez ce paramètre, vous serez invité à saisir le mot de passe après Enter password.

  • Si vous incluez ce paramètre, n'ajoutez pas d'espace entre -p et le mot de passe.

Pass***233

Utiliser une application pour se connecter au cluster

La connexion à un cluster PolarDB for MySQL est identique à la connexion à n'importe quelle base de données MySQL. Remplacez l'endpoint, le port, le compte et le mot de passe par les valeurs de votre cluster PolarDB. Exemples par langage :

Java

Utilisez le pilote JDBC MySQL dans un projet Maven pour vous connecter à un cluster PolarDB for MySQL.

  1. Ajoutez la dépendance du pilote JDBC MySQL à votre fichier pom.xml :

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>
  2. Connectez-vous au cluster. Remplacez <HOST>, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME> et <YOUR_TABLE_COLUMN_NAME> par vos valeurs réelles.

    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

Utilisez la bibliothèque PyMySQL avec Python 3 pour vous connecter à un cluster PolarDB for MySQL.

  1. Installez la bibliothèque PyMySQL :

    pip3 install PyMySQL
  2. Connectez-vous au cluster. Remplacez <HOST>, <USER>, <PASSWORD>, <DATABASE> et <YOUR_TABLE_NAME> par vos valeurs réelles.

    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

Utilisez le package database/sql et le pilote go-sql-driver/mysql (Go 1.23.0) pour vous connecter à un cluster PolarDB for MySQL.

  1. Installez le pilote go-sql-driver/mysql :

    go get -u github.com/go-sql-driver/mysql
  2. Connectez-vous au cluster. Remplacez <HOST>, <USER>, <PASSWORD>, <DATABASE> et <YOUR_TABLE_NAME> par vos valeurs réelles.

    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

Une instance ECS ne peut pas se connecter à un cluster **PolarDB**

Procédez au dépannage comme suit :

  1. Vérifiez si le cluster PolarDB est dans l'état running.

  2. Assurez-vous que l'endpoint, le port, le compte et le mot de passe de la base de données sont corrects. Obtenez l'endpoint et le port de la base de données.

  3. Testez la connectivité réseau depuis l'instance ECS en utilisant ping <database endpoint> ou telnet <database endpoint> <port>.

    1. Si vous utilisez un endpoint private network :

      1. Vérifiez si l'instance ECS et le cluster PolarDB se trouvent dans le même VPC. S'ils ne sont pas dans le même VPC, vous ne pouvez pas utiliser l'endpoint private network. Utilisez l'une des solutions suivantes pour placer l'instance ECS et le cluster PolarDB dans le même VPC :

      2. Vérifiez si l'adresse IP privée, la plage d'adresses IP ou le groupe de sécurité de l'instance ECS ont été ajoutés à la liste blanche du cluster.

    2. Si vous utilisez un endpoint public network, vérifiez si l'adresse IP publique ou le groupe de sécurité de l'instance ECS ont été ajoutés à la liste blanche du cluster.

Remarque

Les hôtes virtuels et les Simple Application Server ne peuvent pas se connecter à PolarDB via un endpoint private network.

Un environnement local ne peut pas se connecter à un cluster **PolarDB**

Procédez au dépannage comme suit :

  1. Vérifiez si le cluster PolarDB est dans l'état running.

  2. Assurez-vous que l'endpoint, le port, le compte et le mot de passe de la base de données sont corrects. Obtenez l'endpoint et le port de la base de données.

    Remarque

    L'endpoint de la base de données doit être un endpoint public network. Si vous utilisez une instance ECS située dans le même VPC que le cluster PolarDB, vous pouvez utiliser un endpoint private network.

  3. Testez la connectivité réseau depuis votre environnement local en utilisant ping <database endpoint> ou telnet <database endpoint> <port>.

  4. Vérifiez si l'adresse IP publique ou la plage d'adresses IP de votre environnement local ont été ajoutées à la liste blanche du cluster.

    Pour obtenir votre adresse IP publique :

    • Système d'exploitation Linux : ouvrez le terminal et exécutez la commande curl ifconfig.me.

    • Système d'exploitation Windows : ouvrez l'invite de commandes et exécutez la commande curl ip.me.

    • Système d'exploitation macOS : ouvrez le terminal et exécutez la commande curl ifconfig.me.

    Si votre environnement réseau local utilise un serveur proxy ou présente d'autres configurations similaires, l'adresse IP obtenue via les méthodes précédentes peut ne pas correspondre à votre véritable adresse IP publique. Ajoutez la plage d'adresses IP 0.0.0.0/0 à la liste blanche du cluster PolarDB. Une fois la connexion au cluster établie avec succès, exécutez la commande SHOW PROCESSLIST; pour obtenir la véritable adresse IP publique et l'ajouter à la liste blanche du cluster. Ensuite, supprimez la plage d'adresses IP 0.0.0.0/0 de la liste blanche.

    image

Impossible de se connecter à un cluster **PolarDB** avec l'erreur « Access denied for user 'xxx'@'xxx' (using password: YES) »

Le compte ou le mot de passe de la base de données est incorrect. Accédez à la console PolarDB et vérifiez ou réinitialisez les identifiants sur la page Configurations and Management > Account Management.

Impossible de se connecter à un cluster **PolarDB** avec l'erreur « Unknown MySQL server host 'xxx' »

L'endpoint de la base de données est incorrect. Le format correct est pc-xxxxxx.rwlb.rds.aliyuncs.com. Accédez à la console PolarDB et vérifiez l'endpoint dans la section Basic Information > Database Connection.

Impossible de se connecter à un cluster PolarDB avec l'erreur « Can't connect to MySQL server on 'xxx' » ou « Connection timed out »

L'adresse IP publique ou la plage d'adresses IP de votre environnement ne figure probablement pas dans la liste blanche du cluster PolarDB, ou l'adresse IP saisie est incorrecte.

Pour obtenir votre adresse IP publique :

  • Système d'exploitation Linux : ouvrez le terminal et exécutez la commande curl ifconfig.me.

  • Système d'exploitation Windows : ouvrez l'invite de commandes et exécutez la commande curl ip.me.

  • Système d'exploitation macOS : ouvrez le terminal et exécutez la commande curl ifconfig.me.

Si votre environnement réseau local utilise un serveur proxy ou présente d'autres configurations similaires, l'adresse IP obtenue via les méthodes précédentes peut ne pas correspondre à votre véritable adresse IP publique. Ajoutez la plage d'adresses IP 0.0.0.0/0 à la liste blanche du cluster PolarDB. Une fois la connexion au cluster établie avec succès, exécutez la commande SHOW PROCESSLIST; pour obtenir la véritable adresse IP publique et l'ajouter à la liste blanche du cluster. Ensuite, supprimez la plage d'adresses IP 0.0.0.0/0 de la liste blanche.

image

Comment modifier la méthode de connexion dans DMS pour utiliser un **cluster endpoint afin de se connecter à un cluster PolarDB** ?

Lorsque vous utilisez DMS pour vous connecter à un cluster, DMS se connecte par défaut via l'Primary Endpoint. Pour utiliser des fonctionnalités telles que In-Memory Column Index (IMCI) et PolarDB for AI, basculez vers l'Cluster Endpoint afin que le proxy de base de données PolarDB achemine les instructions SQL vers les nœuds fonctionnels correspondants.

Procédure :

  1. Après vous être connecté au cluster via DMS, dans la liste Database Instances > Logged-in Instances du volet de navigation de gauche, recherchez le cluster cible, faites un clic droit dessus et sélectionnez Edit Instance.

    image

  2. Dans la boîte de dialogue Edit Instance, modifiez Basic Information > Entry Method en Connection String, saisissez l'cluster endpoint du cluster et cliquez sur Save.image

Important

Après avoir modifié l'endpoint, fermez la fenêtre SQL existante et ouvrez-en une nouvelle. La fenêtre d'origine utilise toujours l'Primary Endpoint, et non l'Connection String Address mis à jour.

Pourquoi des erreurs de connexion surviennent-elles après avoir défini le poids d'un nœud en lecture seule dans un endpoint de cluster sur 0, puis supprimé le nœud ?

  • Scénario : Vous devez supprimer un nœud en lecture seule d'un endpoint de cluster. Pour éviter d'affecter les connexions au nœud, vous commencez par définir le poids de répartition lecture/écriture du nœud en lecture seule sur 0. Vous vous attendez à ce qu'après avoir défini le poids sur 0, les requêtes de lecture ultérieures ne soient plus envoyées à ce nœud en lecture seule. Cependant, après avoir supprimé le nœud de l'endpoint de cluster, des erreurs de connexion se produisent côté application.

  • Cause : Un endpoint de cluster dispose de deux Load Balancing Policy : Active Request-based Load Balancing et Connections-based Load Balancing :

    • Active Request-based Load Balancing : Après avoir réduit le poids d'un nœud en lecture seule à 0, les requêtes ultérieures ne seront plus acheminées vers ce nœud.

    • Connections-based Load Balancing : L'équilibrage de charge est effectué uniquement lors de la phase d'établissement de la connexion. Si une connexion précédemment établie est connectée à un nœud en lecture seule, les requêtes ultérieures sur cette connexion sont toujours envoyées à ce nœud en lecture seule.

  • Solution :

    1. Basculez la Load Balancing Policy de l'endpoint de cluster vers Active Request-based Load Balancing.

    2. Définissez le poids de répartition lecture/écriture du nœud en lecture seule cible sur 0.

    3. Supprimez le nœud en lecture seule.

Références