このトピックでは、Node.js の MySQL2 ドライバーを使用して LindormTable に接続し、使用する方法について説明します。
前提条件
インスタンスで MySQL 互換機能が有効化されていること。詳細については、「MySQL 互換機能の有効化」をご参照ください。
クライアントの IP アドレスが Lindorm インスタンスのホワイトリストに追加されていること。詳細については、「ホワイトリストの設定」をご参照ください。
操作手順
Node.js をインストールします。Node.js 公式サイトから Node.js のインストールパッケージをダウンロードできます。
MySQL2 ドライバーをインストールします。NPM MySQL2 ページから MySQL2 ドライバーをダウンロードできます。
接続パラメーターを設定します。
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
LindormTable の MySQL 互換エンドポイント。エンドポイントの取得方法の詳細については、「接続アドレスの表示」をご参照ください。
重要アプリケーションが Elastic Compute Service (ECS) インスタンスにデプロイされている場合は、セキュリティの向上とネットワーク遅延の削減のため、VPC (Virtual Private Cloud) を使用して Lindorm インスタンスに接続することを推奨します。
アプリケーションがローカルにデプロイされている場合は、パブリックネットワーク経由で Lindorm インスタンスに接続する前に、コンソールでパブリックエンドポイントを有効化する必要があります。そのためには、 を選択します。Wide Table Engine タブで、Enable Public Endpoint をクリックします。
VPC 経由で Lindorm インスタンスにアクセスする場合は、host を MySQL 互換の VPC アドレスに設定します。パブリックネットワーク経由で Lindorm インスタンスにアクセスする場合は、host を MySQL 互換の Internet アドレスに設定します。
port
MySQL を使用して LindormTable にアクセスするためのポート。このパラメーターの値は 33060 に固定されています。
user
パスワードを忘れた場合は、LindormTable のクラスター管理システムでパスワードを変更できます。詳細については、「ユーザーの管理」をご参照ください。
password
database
接続先のデータベース名。デフォルトでは、クライアントは default という名前のデータベースに接続されます。
connectTimeout
接続タイムアウト期間。単位:ミリ秒。デフォルト値:10000。
LindormTable への接続を作成し、ワイドテーブル SQL 構文を使用してクエリを実行します。たとえば、すべてのデータベースをクエリできます。
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({
// LindormTable の MySQL 互換エンドポイント
host: 'ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com',
// LindormTable の MySQL プロトコル用のポート。値は 33060 に固定されています。
port: 33060,
// LindormTable のユーザー名。
user: 'user',
// LindormTable のパスワード。
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' } ]