Mysql
 sql >> Database >  >> RDS >> Mysql

Come connettere Google Cloud SQL con C#

Presumo che tu abbia già creato la tua istanza MySQL di Google Cloud SQL.

Seguendo le istruzioni in Connettiti alla tua istanza Cloud SQL utilizzando SSL , dovrai abilitare l'accesso SSL esterno e creare un certificato client.

Scaricherai i tre file:server-ca.pem, client-cert.pem, client-key.pem.

Installa MySqlConnector Pacchetto NuGet nell'applicazione C#.

Crea la tua stringa di connessione come segue:

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();

Tieni presente che per le versioni precedenti della libreria MySqlConnector, dovrai combinare il certificato SSL e la chiave in un unico file PFX. Seguendo queste istruzioni , converti client-cert.pem e client-key.pem in un file pfx:

openssl pkcs12 -inkey client-key.pem -in client-cert.pem -export -out client.pfx

Quindi rimuovi Ssl* opzioni della stringa di connessione e aggiungi quanto segue:

    CertificateFile = @"C:\Path\To\client.pfx",
    CACertificateFile = @"C:\Path\To\server-ca.pem",