All Products
Search
Document Center

AnalyticDB:Node.js

Last Updated:Mar 29, 2026

Hubungkan ke kluster AnalyticDB for MySQL menggunakan paket driver mysql untuk Node.js.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Menginstal Node.js. Unduh dari nodejs.org.

  • Paket driver mysql telah diinstal. Jalankan perintah berikut untuk menginstalnya:

    npm install mysql --save
  • Menambahkan alamat IP host Node.js Anda ke daftar putih kluster Anda. Lihat Konfigurasi daftar putih.

  • Memiliki titik akhir kluster. Ambil dari halaman Cluster Information di Konsol AnalyticDB for MySQL:

    • Jika host Node.js Anda (misalnya, instans Elastic Compute Service (ECS)) berada dalam virtual private cloud (VPC) yang sama dengan kluster Anda, gunakan titik akhir internal.

    • Jika tidak, ajukan permohonan untuk titik akhir publik. Lihat Ajukan atau release titik akhir publik.

Hubungkan ke kluster AnalyticDB for MySQL

Simpan kredensial Anda sebagai variabel lingkungan, bukan dengan hardcoding di kode sumber Anda.

Tetapkan variabel lingkungan berikut sebelum menjalankan contoh skrip:

VariabelDeskripsiContoh
ADB_HOSTTitik akhir klusteram-bp***.ads.aliyuncs.com
ADB_PORTNomor Port3306
ADB_USERNama akun (privileged atau standar)account_name
ADB_PASSWORDPassword akunaccount_password
ADB_DATABASENama databasedb_name

Contoh berikut menghubungkan ke kluster, menjalankan kueri, dan menutup koneksi:

// Langkah 1: Impor driver mysql.
const mysql = require('mysql');

// Langkah 2: Buat koneksi menggunakan kredensial dari variabel lingkungan.
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 untuk membuat koneksi. Default: 10000 ms.
  connectTimeout: 10000,
});

// Langkah 3: Buka koneksi.
connection.connect((err) => {
  if (err) throw err;
  console.log('Koneksi berhasil dibuat.');

  // Langkah 4: Jalankan kueri.
  connection.query(
    'SELECT count(*) AS count FROM information_schema.tables',
    (err, results) => {
      if (err) throw err;
      console.log('Jumlah:', results[0].count);

      // Langkah 5: Tutup koneksi.
      connection.end((err) => {
        if (err) throw err;
        console.log('Koneksi ditutup.');
      });
    }
  );
});

Saat kode dijalankan dengan sukses, output-nya mirip dengan:

Koneksi berhasil dibuat.
Jumlah: 42
Koneksi ditutup.

Catatan penggunaan

  • Gunakan kolam koneksi di lingkungan produksi. Membuat koneksi baru untuk setiap permintaan menambah latensi. Gunakan mysql.createPool() untuk mengelola kolam koneksi yang dapat digunakan ulang. Lihat dokumentasi mysql untuk detailnya.

  • Gunakan kueri terparameterisasi untuk mencegah SQL injection. Paket mysql melakukan escaping nilai kueri di sisi client. Berikan nilai yang berasal dari pengguna sebagai parameter, bukan dengan menginterpolasikannya ke dalam string SQL. Lihat Escaping query values untuk contohnya.

Langkah berikutnya