如何在没有 SSL 的情况下连接到 MySQL 数据库
Posted
技术标签:
【中文标题】如何在没有 SSL 的情况下连接到 MySQL 数据库【英文标题】:How to connect to a MySQL Database without SSL 【发布时间】:2018-11-06 08:25:56 【问题描述】:我正在尝试连接到本地 mysql 数据库。
我有这个连接器:
using(MySqlConnection conn = new MySqlConnection("Database=Studentenverwaltung;Port=3306;Data Source=127.0.0.1;User Id=root;Password=abc123"))
try
conn.Open();
Console.WriteLine("Opened!");
conn.Close();
catch(Exception e)
Console.WriteLine("Cannot open Connection");
Console.WriteLine(e.ToString());
但我得到了这个例外:
MySql.Data.MySqlClient.MySqlException (0x80004005):主机 127.0.0.1 不支持 SSL 连接。
似乎无法连接到数据库,因为数据库不支持 SSL。那么有没有办法在没有 SSL 的情况下连接到数据库?
【问题讨论】:
【参考方案1】:您是否尝试在连接字符串中将SslMode
属性设置为“无”?
这应该可行:
new MySqlConnection("Database=Studentenverwaltung;Port=3306;Data Source=127.0.0.1;User Id=root;Password=abc123;SslMode=none;")
【讨论】:
进行此设置是否有任何安全问题? 如果您有任何安全问题,请不要这样做。曾经。无论出于何种原因......永远【参考方案2】:using MySql.Data.MySqlClient;
private const String SERVER = "1.1.1.1"; // Server IP
private const String DATABASE = "abc"; // Date base name
private const String TABLE = "test"; // Table name
private const String UID = "user"; // Date base username
private const String PASSWORD = "pass"; // Date base password
public static void InitializeDataBase()
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
builder.Server = SERVER;
builder.UserID = UID;
builder.Password = PASSWORD;
builder.Database = DATABASE;
builder.SslMode = MySqlSslMode.None;
//builder.CertificateFile = @"<Path_To_The_File>\client.pfx";
//builder.CertificatePassword = "<Password_For_The_Cert>";
String connString = builder.ToString();
builder = null;
dbConn = new MySqlConnection(connString);
【讨论】:
以上是关于如何在没有 SSL 的情况下连接到 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 *** 映像的情况下连接到 docker 中的 ***?
如何在没有 oAuth 身份验证的情况下连接到 Google Calendar API?