本文介紹如何使用Node.js的MySQL2驅動包串連並使用Lindorm寬表引擎。
前提條件
已開通MySQL協議相容功能。如何開通,請參見開通MySQL協議相容功能。
已將用戶端IP添加至白名單,具體操作請參見設定白名單。
操作步驟
安裝Node.js。安裝包下載地址:Node.js。
安裝MySQL2驅動包。驅動包下載地址:MySQL。
配置串連參數。
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。
建立串連,通過寬表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' } ]