Ich gehe davon aus, dass Sie Ihre Google Cloud SQL MySQL-Instanz bereits erstellt haben.
Befolgen Sie die Anweisungen unter Verbinden Sie sich mit Ihrer Cloud SQL-Instanz mit SSL müssen Sie den externen SSL-Zugriff aktivieren und ein Client-Zertifikat erstellen.
Sie laden die drei Dateien herunter:server-ca.pem, client-cert.pem, client-key.pem.
Installieren Sie den MySqlConnector NuGet-Paket in Ihre C#-Anwendung.
Erstellen Sie Ihre Verbindungszeichenfolge wie folgt:
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();
Beachten Sie, dass Sie für alte Versionen der MySqlConnector-Bibliothek das SSL-Zertifikat und den Schlüssel in einer PFX-Datei kombinieren müssen. Folgen Sie diesen Anweisungen , konvertieren Sie client-cert.pem und client-key.pem in eine PFX-Datei:
openssl pkcs12 -inkey client-key.pem -in client-cert.pem -export -out client.pfx
Entfernen Sie dann den Ssl*
Optionen für Verbindungszeichenfolgen und fügen Sie Folgendes hinzu:
CertificateFile = @"C:\Path\To\client.pfx",
CACertificateFile = @"C:\Path\To\server-ca.pem",