本文介绍基于C#语言,通过MySQL.Data包进行应用开发的方法。
前提条件
已开通MySQL协议兼容功能。如何开通,请参见开通MySQL协议兼容功能。
已将客户端IP添加至白名单,具体操作请参见设置白名单。
操作步骤
安装Dotnet。安装包下载地址: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";
参数说明
参数
说明
server
Lindorm宽表引擎的MySQL兼容地址。如何获取,请参见查看连接地址。
重要如果应用部署在ECS实例,建议您通过专有网络访问Lindorm实例,可获得更高的安全性和更低的网络延迟。
如果应用部署在本地,在通过公网连接Lindorm实例前,需在控制台开通公网地址。开通方式:在控制台选择
,在宽表引擎页签单击开通公网地址。通过专有网络访问Lindorm实例,server请填写MySQL兼容地址对应的专有网络地址。通过公网访问Lindorm实例,server请填写MySQL兼容地址对应的公网地址。
UID
如果您忘记用户密码,可以通过Lindorm宽表引擎的集群管理系统修改密码。具体操作,请参见修改用户密码。
password
database
需要连接的数据库名称。默认连接default数据库。
port
Lindorm宽表引擎MySQL协议的端口,固定为33060。
创建连接,通过宽表SQL语法使用Lindorm宽表引擎。以查询所有数据库为例。
MySqlConnection conn = new MySqlConnection(connStr); try { Console.WriteLine("Connecting to 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)
{
//server为Lindorm宽表引擎的MySQL兼容地址
//user为Lindorm宽表引擎的用户名
//database为需要连接的数据库名称
//password为Lindorm宽表引擎的密码
//port为Lindorm宽表引擎MySQL协议的端口,固定为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...");
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.