全部產品
Search
文件中心

Lindorm:基於Node.js的應用開發

更新時間:Jul 06, 2024

本文介紹如何使用Node.js的MySQL2驅動包串連並使用Lindorm寬表引擎。

前提條件

操作步驟

  1. 安裝Node.js。安裝包下載地址:Node.js

  2. 安裝MySQL2驅動包。驅動包下載地址:MySQL

  3. 配置串連參數。

    connection = mysql.createConnection({
          host: 'ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com',
          port: 33060,
          user: 'user',
          password: 'test',
          database: 'default',
          connectTimeout: 10000
    });

    參數說明

    參數

    說明

    host

    Lindorm寬表引擎的MySQL相容地址。如何擷取MySQL相容地址,請參見查看串連地址

    重要
    • 如果應用部署在ECS執行個體,建議您通過專用網路訪問Lindorm執行個體,可獲得更高的安全性和更低的網路延遲。

    • 如果應用部署在本地,在通過公網串連Lindorm執行個體前,需在控制台開通公網地址。開通方式:在控制台選擇資料庫連接 > 寬表引擎,在寬表引擎頁簽單擊開通公網地址

    • 通過專用網路訪問Lindorm執行個體,host請填寫MySQL相容地址對應的專用網路地址。通過公網訪問Lindorm執行個體,host請填寫MySQL相容地址對應的公網地址。

    port

    Lindorm寬表引擎MySQL協議的連接埠,固定為33060。

    user

    如果您忘記使用者密碼,可以通過Lindorm寬表引擎的叢集管理系統修改密碼。具體操作,請參見修改使用者密碼

    password

    database

    需要串連的資料庫名稱。預設串連default資料庫。

    connectTimeout

    連線逾時時間。單位為毫秒(ms),預設值為10000。

  4. 建立串連,通過寬表SQL文法使用Lindorm寬表引擎。以查詢所有資料庫為例。

    connection.connect(function(err) {
        if (err) {
            throw err;
        }
        console.log("Connection established.");
    
      connection.query('show databases', function(err1, results, fields) {
            if (err1) {
                throw err1;
            }
            console.log(fields)
            console.log(results)
        });
    
        connection.end(function(err2) {
            if (err2) {
                throw err2;
            }
            console.log("Connection closed.");
        });
    });

完整樣本

完整範例程式碼如下:

var mysql = require('mysql2');
var connection = mysql.createConnection({
    //Lindorm寬表引擎的MySQL相容地址
      host: 'ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com',
    //Lindorm寬表引擎MySQL協議的連接埠,固定為33060
      port: 33060,
    //Lindorm寬表引擎的使用者名稱
      user: 'user',
    //Lindorm寬表引擎的密碼
      password: 'test',
    //需要串連的資料庫名稱
      database: 'default ',
    //建立串連的逾時時間,預設10000毫秒
      connectTimeout: 10000
});

connection.connect(function(err) {
    if (err) {
        throw err;
    }
    console.log("Connection established.");

  connection.query('show databases', function(err1, results, fields) {
        if (err1) {
            throw err1;
        }
        console.log(fields)
        console.log(results)
    });

    connection.end(function(err2) {
        if (err2) {
            throw err2;
        }
        console.log("Connection closed.");
    });
});

如果當前執行個體僅有default一個資料庫,執行成功後將返回如下結果:

Connection established.
Connection closed.
[ `DATABASE` VARCHAR(0) ]
[ { DATABASE: 'default' }, { DATABASE: 'information_schema' } ]