Todos os produtos
Search
Central de documentação

AnalyticDB:Node.js

Última atualização: Jun 27, 2026

Conecte-se a um cluster do AnalyticDB for MySQL usando o pacote de driver mysql para Node.js.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Node.js instalado. Baixe-o em nodejs.org

  • Pacote de driver mysql instalado. Execute o comando a seguir para instalá-lo:

    npm install mysql --save
  • Endereço IP do host Node.js adicionado à lista de permissões do cluster. Consulte Configurar uma lista de permissões

  • Endpoint do cluster. Obtenha-o na página Cluster Information do console do AnalyticDB for MySQL:

    • Se o host Node.js (por exemplo, uma instância do Elastic Compute Service (ECS)) estiver na mesma Virtual Private Cloud (VPC) do cluster, use o endpoint interno

    • Caso contrário, solicite um endpoint público. Consulte Solicitar ou liberar um endpoint público

Conectar-se a um cluster do AnalyticDB for MySQL

Armazene as credenciais como variáveis de ambiente em vez de codificá-las diretamente no código source.

Defina as seguintes variáveis de ambiente antes de executar o exemplo:

Variável

Descrição

Exemplo

ADB_HOST

Endpoint do cluster

am-bp***.ads.aliyuncs.com

ADB_PORT

Número da porta

3306

ADB_USER

Nome da conta (privilegiada ou padrão)

account_name

ADB_PASSWORD

Senha da conta

account_password

ADB_DATABASE

Nome do banco de dados

db_name

O exemplo a seguir conecta-se ao cluster, executa uma consulta e encerra a conexão:

// 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.');
      });
    }
  );
});

Após a execução bem-sucedida do código, a saída será semelhante a:

Connection established.
Count: 42
Connection closed.

Observações de uso

  • Use um pool de conexões em produção. Criar uma nova conexão para cada solicitação aumenta a latência. Utilize mysql.createPool() para gerenciar um pool de conexões reutilizáveis. Consulte a documentação do mysql para obter detalhes.

  • Adote consultas parametrizadas para evitar injeção de SQL. O pacote mysql faz o escape dos valores da consulta no lado do cliente. Passe os valores fornecidos pelo usuário como parâmetros em vez de interpolá-los nas strings SQL. Veja Escaping query values para exemplos.

Próximos passos