Tous les produits
Search
Centre de documentation

AnalyticDB:Node.js

Dernière mise à jour :Aug 10, 2026

Connectez-vous à un cluster AnalyticDB for MySQL en utilisant le package de pilotes mysql pour Node.js.

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Node.js installé. Téléchargez-le depuis nodejs.org

  • Le package de pilotes mysql installé. Exécutez la commande suivante pour l'installer :

    npm install mysql --save
  • L'adresse IP de votre hôte Node.js ajoutée à la liste d'autorisation de votre cluster. Consultez Configurer une liste d'autorisation

  • Un endpoint de cluster. Récupérez-le depuis la page Cluster Information de la console AnalyticDB for MySQL :

    • Si votre hôte Node.js (par exemple, une instance Elastic Compute Service (ECS)) se trouve dans le même Virtual Private Cloud (VPC) que votre cluster, utilisez l'endpoint interne.

    • Sinon, demandez un endpoint public. Consultez Demander ou libérer un endpoint public

Se connecter à un cluster AnalyticDB for MySQL

Stockez vos identifiants sous forme de variables d'environnement plutôt que de les coder en dur dans votre code source.

Définissez les variables d'environnement suivantes avant d'exécuter l'exemple :

Variable Description Exemple
ADB_HOST Endpoint du cluster am-bp***.ads.aliyuncs.com
ADB_PORT Numéro de port 3306
ADB_USER Nom du compte (privilégié ou standard) account_name
ADB_PASSWORD Mot de passe du compte account_password
ADB_DATABASE Nom de la base de données db_name

L'exemple suivant se connecte au cluster, exécute une requête et ferme la connexion :

// Step 1: Import the mysql driver.
const mysql = require('mysql');

// Step 2: Create a connection using credentials from environment variables.
const connection = mysql.createConnection({
  host: process.env.ADB_HOST,
  port: parseInt(process.env.ADB_PORT, 10) || 3306,
  user: process.env.ADB_USER,
  password: process.env.ADB_PASSWORD,
  database: process.env.ADB_DATABASE,
  // Timeout for establishing the connection. Default: 10000 ms.
  connectTimeout: 10000,
});

// Step 3: Open the connection.
connection.connect((err) => {
  if (err) throw err;
  console.log('Connection established.');

  // Step 4: Run a query.
  connection.query(
    'SELECT count(*) AS count FROM information_schema.tables',
    (err, results) => {
      if (err) throw err;
      console.log('Count:', results[0].count);

      // Step 5: Close the connection.
      connection.end((err) => {
        if (err) throw err;
        console.log('Connection closed.');
      });
    }
  );
});

Lorsque le code s'exécute avec succès, la sortie est similaire à :

Connection established.
Count: 42
Connection closed.

Notes d'utilisation

  • Utilisez un pool de connexions en production. Créer une nouvelle connexion pour chaque requête ajoute de la latence. Utilisez mysql.createPool() pour gérer un pool de connexions réutilisables. Consultez la documentation mysql pour plus de détails.

  • Utilisez des requêtes paramétrées pour prévenir les injections SQL. Le package mysql échappe les valeurs de requête côté client. Transmettez les valeurs fournies par l'utilisateur en tant que paramètres plutôt que de les interpoler dans des chaînes SQL. Consultez Échappement des valeurs de requête pour des exemples.

Étapes suivantes