Zakładam, że już utworzyłeś instancję Google Cloud SQL MySQL.
Postępuj zgodnie z instrukcjami na stronie Połącz się z instancją Cloud SQL za pomocą SSL , musisz włączyć zewnętrzny dostęp SSL i utworzyć certyfikat klienta.
Pobierasz trzy pliki:server-ca.pem, client-cert.pem, client-key.pem.
Zainstaluj MySqlConnector Pakiet NuGet do aplikacji C#.
Utwórz parametry połączenia w następujący sposób:
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();
Zwróć uwagę, że w przypadku starszych wersji biblioteki MySqlConnector konieczne będzie połączenie certyfikatu SSL i klucza w jeden plik PFX. Postępując zgodnie z tymi instrukcjami , przekonwertuj client-cert.pem i client-key.pem na plik PFX:
openssl pkcs12 -inkey client-key.pem -in client-cert.pem -export -out client.pfx
Następnie usuń Ssl*
opcje parametrów połączenia i dodaj następujące:
CertificateFile = @"C:\Path\To\client.pfx",
CACertificateFile = @"C:\Path\To\server-ca.pem",