本文介绍如何使用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' } ]