このトピックでは、MySQL.Data ライブラリを使用して C# アプリケーションを開発する方法について説明します。
前提条件
LindormTable のバージョンが 2.6.2 以降であること。LindormTable のバージョンを表示またはアップグレードする方法の詳細については、「LindormTable のリリースノート」および「Lindorm インスタンスのマイナーエンジンバージョンをアップグレードする」をご参照ください。
インスタンスで MySQL 互換機能が有効になっていること。詳細については、「MySQL 互換機能を有効にする」をご参照ください。
クライアントの IP アドレスが Lindorm インスタンスのホワイトリストに追加されていること。詳細については、「ホワイトリストを構成する」をご参照ください。
手順
Dotnet をインストールします。Dotnet 公式 Web サイトから Dotnet のインストールパッケージをダウンロードできます。
次のコードを実行して、Dotnet プロジェクトを作成します。
dotnet new console --framework net7.0次のコードを実行して、MySQL.Data ライブラリの依存関係を追加します。
dotnet add package MySql.Data -v 8.0.11接続パラメータを構成します。
string connStr = "server=ld-uf6k8yqb741t3****-proxy-sql-lindorm.lindorm.rds.aliyuncs.com;UID=user;database=default;port=33060;password=test";パラメータ
password
パラメータ
説明
server
Mysql 用の Lindormtable エンドポイント。エンドポイントの取得方法の詳細については、「エンドポイントを表示する」をご参照ください。
重要アプリケーションが ECS インスタンスにデプロイされている場合は、セキュリティの向上とネットワークレイテンシの低減のために、VPC を使用して Lindorm インスタンスに接続することをお勧めします。
アプリケーションがローカルサーバーにデプロイされていて、インターネット経由でLindormインスタンスに接続する必要がある場合は、Lindormコンソールでインスタンスのインターネットエンドポイントを有効にするために、次の手順を実行できます。左側のナビゲーションペインで、 を選択します。[ワイドテーブルエンジン] タブで、[パブリックエンドポイントを有効にする] をクリックします。
VPC を使用して Lindorm インスタンスにアクセスする場合は、server の値に Mysql 用の Lindormtable VPC エンドポイントを指定します。インターネットを使用して Lindorm インスタンスにアクセスする場合は、server の値に Mysql 用の Lindormtable インターネットエンドポイントを指定します。
UID
パスワードを忘れた場合は、LindormTable のクラスタ管理システムでパスワードを変更できます。詳細については、「ユーザーの管理」をご参照ください。
LindormTable に接続するために使用するパスワード。
database
接続先のデータベースの名前。デフォルトでは、クライアントは default という名前のデータベースに接続されます。
port
MySQL を使用して LindormTable にアクセスするために使用するポート。このパラメータの値は 33060 に固定されています。
接続を確立し、LindormTable SQL を使用して LindormTable で操作を実行します。次のコードブロックは、LindormTable SQL を使用してすべてのデータベースを照会する方法の例を示しています。
MySqlConnection conn = new MySqlConnection(connStr); try { Console.WriteLine("Connecting to MySQL..."); // MySQL に接続しています... conn.Open(); string sql = "show databases;"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(rdr[0]); } rdr.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } conn.Close(); Console.WriteLine("Done."); // 完了
サンプルコード
using System;
using MySql.Data.MySqlClient;
namespace connectLindorm
{
class Program
{
static void Main(string[] args)
{
// Set server to the LindormTable endpoint for MySQL. // server を MySQL 用の LindormTable エンドポイントに設定します。
// Set user to the username used to connect to LindormTable. // user を LindormTable に接続するために使用するユーザー名に設定します。
// Set database to the database that you want to connect. // database を接続先のデータベースに設定します。
// Set password to the password used to connect to LindormTable. // password を LindormTable に接続するために使用するパスワードに設定します。
// Set port to the port used to access LindormTable by using MySQL. The value of this parameter is fixed to 33060. // port を MySQL を使用して LindormTable にアクセスするために使用するポートに設定します。このパラメータの値は 33060 に固定されています。
string connStr = "server=ld-uf6k8yqb741t3****-proxy-sql-lindorm.lindorm.rds.aliyuncs.com;UID=user;database=default;port=33060;password=test";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL..."); // MySQL に接続しています...
conn.Open();
string sql = "show databases";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr[0]);
}
rdr.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
Console.WriteLine("Done."); // 完了
}
}
}現在のインスタンスに default という名前のデータベースのみが含まれている場合、次の結果が返されます。
Connecting to MySQL...
default
information_schema
Done.