C#连接MySQL异常:The host localhost does not support SSL connections.

博客给出一种解决方案,即向连接字符串添加特定语句,但未明确具体语句内容。

解决方案: 

    连接字符串添加如下语句.

SslMode = none;

 
  1. static void Main(string[] args)

  2. {

  3. Console.WriteLine("123");

  4.  
  5. string connectstr="server=localhost;port=3306;database=test;user=root;password=;SslMode = none;";

  6. MySqlConnection conn=new MySqlConnection(connectstr);

  7.  
  8. try {

  9. conn.Open();

  10. Console.WriteLine("连接成功!!!");

  11. } catch (Exception e) {

  12.  
  13. Console.WriteLine(e.ToString());

  14. }finally{

  15. conn.Close();

  16. Console.WriteLine("正常关闭!!!");

  17. }

  18.  
  19. Console.ReadKey();

  20. }
### ### 问题分析 在使用 DBeaver 连接本地 SQL Server 数据库时,出现 **TCP/IP 连接失败、端口 1433 被拒绝、Connection refused getsockopt** 等错误,通常与网络配置、SQL Server 服务状态或防火墙设置相关。以下是可能的原因和对应的解决方案。 --- ### ### 确保 SQL Server 服务正在运行 如果 SQL Server 服务未启动,将导致无法建立连接。可以在 **Windows 服务管理器** 中检查 SQL Server(MSSQLSERVER)服务的状态,确保其处于“正在运行”状态。若未运行,手动启动服务。 ```powershell # 检查 SQL Server 服务状态 Get-Service -Name MSSQLSERVER ``` --- ### ### 启用 TCP/IP 协议 SQL Server 默认可能未启用 TCP/IP 协议。需要使用 **SQL Server 配置管理器** 来启用该协议: - 打开 **SQL Server 配置管理器**。 - 展开 **SQL Server 网络配置** > **协议**。 - 右键点击 **TCP/IP**,选择 **启用**。 - 重启 SQL Server 服务以应用更改[^1]。 --- ### ### 配置 TCP 端口 默认情况下,SQL Server 使用端口 1433。在启用 TCP/IP 后,还需确保端口配置正确: - 在 **TCP/IP 属性** 中,进入 **IP 地址** 选项卡。 - 找到 **IPAll** 部分,确保 **TCP 端口** 设置为 `1433`。 - 保存配置并重启 SQL Server 服务[^1]。 --- ### ### 检查防火墙设置 Windows 防火墙可能会阻止对 SQL Server 端口的访问。需要创建入站规则允许 1433 端口: - 打开 **控制面板 > 系统和安全 > Windows Defender 防火墙 > 高级设置**。 - 在 **入站规则** 中,创建新规则,选择 **端口** 类型。 - 指定 TCP 端口为 `1433`,并允许连接。 - 应用规则后,再次尝试连接[^1]。 --- ### ### 检查 SQL Server 是否允许远程连接 即使连接的是本地数据库,也需确保 SQL Server 配置为允许远程连接: - 打开 SQL Server Management Studio (SSMS)。 - 右键服务器名称,选择 **属性**。 - 在 **连接** 选项卡中,勾选 **允许远程连接到此服务器**。 - 点击“确定”保存设置[^1]。 --- ### ### 测试端口连通性 使用 `telnet` 或 `Test-NetConnection` 命令测试本地是否能够访问 1433 端口: ```powershell # 测试本地连接 Test-NetConnection localhost -Port 1433 ``` 如果返回 `TcpTestSucceeded : False`,说明端口未开放或服务未响应,需进一步排查 SQL Server 服务状态和端口配置[^1]。 --- ### ### 检查 SQL Server 实例是否配置为监听所有 IP 地址 在 **SQL Server 配置管理器** 的 **TCP/IP 属性** 中,确保 **IPAll** 部分的 **TCP 动态端口** 为空,且 **TCP 端口** 设置为 `1433`。同时,确保 **IP1** 和 **IP2**(如果存在)也配置为启用状态[^1]。 --- ### ### 检查 SQL Server Browser 服务 如果使用的是命名实例(如 `SQLEXPRESS`),则需要启用 **SQL Server Browser** 服务,并确保 UDP 端口 1434 被允许通过防火墙。该服务负责将客户端请求路由到正确的实例[^1]。 --- ### ### 配置 DBeaver 的连接参数 在 DBeaver 中配置连接时,确保主机名正确(如 `localhost` 或 `127.0.0.1`),并指定正确的端口(默认 1433)。如果使用命名实例,可以尝试在主机名后添加 `\SQLEXPRESS`(例如 `localhost\SQLEXPRESS`)[^1]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值