MySqlConnectionStringBuilder - 连接证书
MySqlConnectionStringBuilder - Connect with Certificates
我正在尝试连接到 Google 云 Sql,这是一个 MySql 解决方案。我能够使用 MySql Workbench 进行连接。
如何使用 MySqlConnectionStringBuilder
在 C# 中连接?
我发现无法提供这三个证书。
我找到了解决方案。
- 确保您使用 google 云控制台访问外部连接 + 您必须设置密码。
- 导出 3 个证书文件
使用
创建新证书
openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem
-certfile server-ca.pem -out client.pfx
源代码
var connectionStringBuilder = new MySqlConnectionStringBuilder
{
Server = "<Instance_Ip>",
UserID = "root",
Password = "<Password>",
Database = "<Database_Name>",
CertificateFile = @"<Path_To_The_File>\client.pfx",
CertificatePassword = "<Password_For_The_Cert>"
};
using (var conn = new MySqlConnection(connectionStringBuilder.ToString()))
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = string.Format("SELECT * FROM test");
conn.Open();
var reader = cmd.ExecuteReader();
while (reader.Read())
{
var data = reader.GetString(0);
Console.WriteLine(data);
}
}
我正在尝试连接到 Google 云 Sql,这是一个 MySql 解决方案。我能够使用 MySql Workbench 进行连接。
如何使用 MySqlConnectionStringBuilder
在 C# 中连接?
我发现无法提供这三个证书。
我找到了解决方案。
- 确保您使用 google 云控制台访问外部连接 + 您必须设置密码。
- 导出 3 个证书文件
使用
创建新证书openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -certfile server-ca.pem -out client.pfx
源代码
var connectionStringBuilder = new MySqlConnectionStringBuilder { Server = "<Instance_Ip>", UserID = "root", Password = "<Password>", Database = "<Database_Name>", CertificateFile = @"<Path_To_The_File>\client.pfx", CertificatePassword = "<Password_For_The_Cert>" }; using (var conn = new MySqlConnection(connectionStringBuilder.ToString())) using (var cmd = conn.CreateCommand()) { cmd.CommandText = string.Format("SELECT * FROM test"); conn.Open(); var reader = cmd.ExecuteReader(); while (reader.Read()) { var data = reader.GetString(0); Console.WriteLine(data); } }