1 c# mysql database google-cloud-sql
我只想使用 C# 在 Google Cloud 上管理我的数据库。我刚开始学习数据库。PS我英语不好。我希望你能理解我。
我假设您已经创建了 Google Cloud SQL MySQL 实例。
按照使用 SSL 连接到 Cloud SQL 实例中的说明,您需要启用外部 SSL 访问并创建客户端证书。
您将下载三个文件:server-ca.pem、client-cert.pem、client-key.pem。
将MySqlConnector NuGet 包安装到 C# 应用程序中。
创建您的连接字符串,如下所示:
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();
Run Code Online (Sandbox Code Playgroud)
请注意,对于旧版本的 MySqlConnector 库,您需要将 SSL 证书和密钥合并到一个 PFX 文件中。按照这些说明,将 client-cert.pem 和 client-key.pem 转换为 pfx 文件:
openssl pkcs12 -inkey client-key.pem -in client-cert.pem -export -out client.pfx
Run Code Online (Sandbox Code Playgroud)
然后删除Ssl*连接字符串选项并添加以下内容:
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();
Run Code Online (Sandbox Code Playgroud)