Suponho que você já tenha criado sua instância MySQL do Google Cloud SQL.
Seguindo as instruções em Conecte-se à sua instância do Cloud SQL usando SSL , você precisará habilitar o acesso SSL externo e criar um certificado de cliente.
Você baixará os três arquivos:server-ca.pem, client-cert.pem, client-key.pem.
Instale o MySqlConnector pacote NuGet em seu aplicativo C#.
Crie sua string de conexão da seguinte forma:
var csb = new MySqlConnectionStringBuilder
{
Server = "Google Cloud SQL IP address",
UserID = "Your UserName",
Password = "Your Password",
Database = "Your Database/Schema Name",
SslCert = @"C:\Path\To\client-cert.pem",
SslKey = @"C:\Path\To\client-key.pem",
SslCa = @"C:\Path\To\server-ca.pem",
SslMode = MySqlSslMode.VerifyCA,
};
using var connection = new MySqlConnection(csb.ConnectionString);
connection.Open();
Observe que, para versões antigas da biblioteca MySqlConnector, você precisará combinar o certificado SSL e a chave em um arquivo PFX. Seguindo estas instruções , converta client-cert.pem e client-key.pem em um arquivo pfx:
openssl pkcs12 -inkey client-key.pem -in client-cert.pem -export -out client.pfx
Em seguida, remova o
Ssl*
opções de string de conexão e adicione o seguinte: CertificateFile = @"C:\Path\To\client.pfx",
CACertificateFile = @"C:\Path\To\server-ca.pem",