このトピックでは、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 });パラメーター
password
パラメーター
説明
host
MySQL 用の LindormTable エンドポイント。 Mysql 用の Lindormtable エンドポイントの取得方法については、エンドポイントの表示 をご参照ください。
重要アプリケーションが ECS インスタンスにデプロイされている場合は、セキュリティの向上とネットワークレイテンシの低減のために、VPC を使用して Lindorm インスタンスに接続することをお勧めします。
アプリケーションがローカルサーバーにデプロイされており、インターネット経由で Lindorm インスタンスに接続する必要がある場合は、Lindorm コンソールでインスタンスのパブリックエンドポイントを有効にするために、次の手順を実行できます。左側のナビゲーションペインで、 を選択します。ワイドテーブルエンジン タブで、パブリックエンドポイントを有効にする をクリックします。
VPC を使用して Lindorm インスタンスにアクセスする場合は、host の値に Mysql 用の Lindormtable VPC エンドポイント を指定します。インターネットを使用して Lindorm インスタンスにアクセスする場合は、host の値に MySQL 用の LindormTable インターネットエンドポイント を指定します。
port
MySQL を使用して LindormTable にアクセスするために使用するポート。このパラメーターの値は 33060 に固定されています。
user
パスワードを忘れた場合は、LindormTable のクラスター管理システムでパスワードを変更できます。詳細については、ユーザーの管理をご参照ください。
LindormTable に接続するために使用するパスワード。
database
接続先のデータベースの名前。デフォルトでは、クライアントは default という名前のデータベースに接続されます。
connectTimeout
接続タイムアウト期間。単位:ミリ秒。デフォルト値:10000。
接続を確立し、LindormTable SQL を使用して LindormTable で操作を実行します。次のコードブロックは、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."); // 接続終了 }); });
サンプルコード
次のコードは、Node.js の MySQL2 ドライバーを使用して LindormTable に接続し、使用する方法の完全な例を示しています。
var mysql = require('mysql2');
var connection = mysql.createConnection({
// MySQL 用の LindormTable エンドポイントを指定します。
host: 'ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com',
// MySQL を使用して LindormTable にアクセスするために使用するポートを指定します。
port: 33060,
// LindormTable に接続するために使用するユーザー名を指定します。
user: 'user',
// LindormTable に接続するために使用するパスワードを指定します。
password: 'test',
// 接続先のデータベースを指定します。
database: 'default ',
// 接続タイムアウト期間を指定します。デフォルトのタイムアウト期間は 10,000 ミリ秒です。
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' } ]