-
Connector/NET 支持 TLS 协议版本 TLSv1、TLSv1.1、TLSv1.2 和 TLSv1.3。一个新的连接字符串选项,
tlsversion
允许将连接限制为单个版本或具有四个受支持的 TLS 版本的任意组合的列表(请参阅 经典 MySQL 协议和 X 协议的选项)。已知问题: .NET Core 3.0(跨平台)和 .NET Framework 4.8(仅限 Windows)均添加了对 TLSv1.3 的支持。在专门用于连接之前,请务必确认运行应用程序的平台操作系统也支持 TLSv1.3。(缺陷号 30225427)
-
对 DNS 服务 (SRV) 记录的支持现在提供了在连接字符串中指定单个主机的替代方法。相反,单个 DNS 域可以使用 SRV 地址记录映射到多个目标(服务器)。每个 SRV 记录包括主机名、端口、优先级和权重。
mysqlx+srv://
对于使用 X 协议的 .NET 应用程序,当单个 DNS 域映射到多个服务器时,新的 URI 方案 使连接能够共享查询负载(请参阅使用 DNS SRV 记录的连接)。同样,新的
dns-srv
连接字符串选项还可以使用经典 MySQL 协议或 X 协议为连接启用 DNS SRV 查找。默认情况下禁用 DNS SRV 功能。有关使用信息,请参阅 经典 MySQL 协议和 X 协议的选项。已知问题: NuGet 库中的
MySql.Data.dll
包缺少 .NET Framework 项目所需的库(.NET Core 项目不受影响)。要启用此功能,请从https://mysql.net.cn/downloads/connector/net/下载 MySQL Connector/NET (mysql-connector-net-8.0.19.msi
) 然后将其作为引用添加到您的项目中。如果所有项目都保留在同一位置,则不需要其他参考。v4.5.2\MySql.Data.dll
-
使用经典 MySQL 协议创建新连接时,可以尝试多个主机,直到建立成功连接。主机列表可以在连接字符串中给出,有或没有优先级。
// Example with priority server=(address=192.10.1.52:3305,priority=60),(address=localhost:3306,priority=100); // Example without priority and with multiple ports host=10.10.10.10:3306,192.101.10.2:3305,localhost:3306;uid=test;password=xxxx;
如果不包括优先级,或者如果多个主机具有相同的优先级,Connector/NET 将随机选择一个主机。相同的随机选择行为也适用于使用 X 协议建立的连接,该协议以前在未指定优先级时按顺序选择主机。