如何在没有 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 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有认证问题的情况下连接到 URL?

如何在不使用 *** 映像的情况下连接到 docker 中的 ***?

如何在没有 oAuth 身份验证的情况下连接到 Google Calendar API?

在没有公共 API 的情况下连接到网站 webosocket

在没有 mssql 支持的情况下连接到 mssql

在没有元数据的情况下连接到 Web 服务