10bet网址
MySQL连接器/NET开发指南
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 1.3 mb
PDF (A4)- 1.3 mb


MySQL连接器/NET开发指南/连接器/网络连接/ Connector/NET 8.0连接选项参考

4.5连接器/NET 8.0连接选项参考

本章描述了MySQL Connector/NET 8.0的全套连接选项。您用来连接到服务器的协议(经典的MySQL协议或X协议)决定了您应该使用哪些选项。连接选项有一个默认值,您可以在连接字符串(经典的MySQL协议和X协议)或类似uri的连接字符串(X协议)中定义新值来覆盖该默认值。连接器/NET选项名和同义词不区分大小写。

有关如何使用连接字符串的说明,请参见第4.1节“创建连接器/NET连接字符串”.有关其他连接样式,请参见使用类似uri的字符串或键值对连接到服务器

下面列出了适用于这两种协议的连接选项,仅适用于经典的MySQL协议和仅适用于X协议:

经典MySQL协议和X协议的选项

以下Connector/NET连接选项可用于任意一种协议。Connector/NET 8.0将本节中的选项公开为属性MySql.Data.MySqlClient.MySqlConnectionStringBuilder而且MySqlX.XDevAPI.MySqlXConnectionStringBuilder类。

CertificateFile 证书文件

默认值:

此选项指定PKCS #12格式的证书文件的路径(.pfx).有关用法示例,请参见第6.7.2节,“在Connector/NET中使用PFX证书”

CertificatePassword 证书密码

默认值:

指定与使用该选项指定的证书一起使用的密码CertificateFile.有关用法示例,请参见第6.7.2节,“在Connector/NET中使用PFX证书”

CertificateStoreLocation 证书存储位置

默认值:

使您能够访问保存在个人存储区的证书,而不是使用证书文件和密码组合。有关用法示例,请参见第6.7.2节,“在Connector/NET中使用PFX证书”

CertificateThumbprint 证书指纹

默认值:

指定证书指纹,以确保个人存储区中包含的证书的正确标识。有关用法示例,请参见第6.7.2节,“在Connector/NET中使用PFX证书”

CharacterSet 字符集 字符集

指定应用于对发送到服务器的所有查询进行编码的字符集。结果仍然在结果数据的字符集中返回。

ConnectionProtocol 协议 连接协议

默认值:套接字(或tcp

指定要连接到服务器的连接类型。值可以是:

  • 套接字tcp对于使用TCP/IP的套接字连接。

  • 用于命名管道连接(X协议不支持)。

  • unix用于UNIX套接字连接。

  • 内存使用MySQL共享内存(X协议不支持)。

数据库 最初的目录

默认值:mysql

最初要使用的数据库的区分大小写的名称。

dns-srv dnssrv

默认值:

启用连接以解析DNS SRV记录中的服务(SRV)地址,该记录定义指定服务的服务器位置(主机名和端口号),当与默认传输协议(tcp).一个DNS域可以通过SRV地址记录映射到多个目标(服务器)。每条SRV记录包括主机名、端口、优先级和权重。在Connector/NET 8.0.19中引入了DNS SRV支持,以消除客户端在连接字符串中识别每个可能的主机的需求,无论是否使用连接池。

指定多个主机名、端口号或Unix套接字、命名管道或共享内存连接(请参阅ConnectionProtocol当启用DNS SRV时,连接字符串中的选项是不允许的。

使用经典的MySQL协议。dns-srv选项应用于连接字符串;的DnsSrv属性中声明MySqlConnectionStringBuilder类。

//连接字符串示例var conn = new MySqlConnection("server= _mysqll._tcp.example.abc.com .;dns-srv = true;用户id =用户;密码= * * * *;数据库=测试”);// MySqlConnectionStringBuilder类示例var sb = new MySqlConnectionStringBuilder();{Server = "_mysql._tcp.example.abc.com.", UserID = "user", Password = "****", DnsSrv = true, Database = "test"};var conn = new MySqlConnection(sb.ConnectionString);

使用X协议。dns-srv选项应用于连接字符串和匿名对象。的DnsSrv属性中声明MySqlXConnectionStringBuilder类。如果两者都是,则会引发错误dns-srv = false的URI方案mysqlx + srv: / /组合在一起以创建冲突的连接配置。的详细信息mysqlx + srv: / /类似uri的连接字符串中的scheme元素,请参见通过DNS SRV记录的连接

//连接字符串示例var session = MySQLX.GetSession("server=_mysqlx._tcp.example.abc.com.;dns-srv = true;用户id =用户;密码= * * * *;数据库=测试”);//匿名对象示例var connstring = new {server = "_mysqlx._tcp.example.abc.com.", user = "user", password = "****", dnssrv = true};var session = MySQLX.GetSession(connString);// MySqlXConnectionStringBuilder类示例var sb = new MySqlXConnectionStringBuilder();{Server = "_mysqlx._tcp.example.abc.com.", UserID = "user", Password = "****", DnsSrv = true, Database = "test"};var session = MySQLX.GetSession(sb.ConnectionString);
Keepalive 保持生机

默认值:0

对于TCP连接,在发送第一个keepalive报文之前,以秒为单位计算的空闲连接时间。值为0表示这一点keepalive是不习惯。在Connector/NET 6.6.7/6.7.5/6.8.4之前,该值以毫秒为单位。

密码 松材线虫病

MySQL帐户的密码。

港口

默认值:3306

MySQL用来监听连接的端口。如果使用Unix套接字,则该值将被忽略。

服务器 宿主 数据源 数据源

默认值:本地主机

一台或多台主机的名称或网络地址。多个主机之间用逗号分隔,如果提供了优先级(0到100),则确定主机选择的顺序。从Connector/NET 8.0.19开始,当省略优先级或每个主机的优先级相同时,主机选择是随机的。

//选择优先级最高的主机(100)第一个服务器=(address=192.10.1.52:3305,priority=60),(address=localhost:3306,priority=100);

提供程序不会尝试同步对数据库的写入,因此在使用此选项时要小心。在具有Mono的UNIX环境中,这可能是MySQL套接字文件的完全限定路径。在此配置中,使用UNIX套接字而不是TCP/IP套接字。目前,只能给出一个套接字名称,因此目前不支持使用UNIX套接字在复制环境中访问MySQL。

SslCa Ssl-Ca

默认值:

根据所使用的证书类型,此选项可以指定PKCS #12格式的证书文件的路径(.pfx)或PEM格式文件的路径(.pem),其中包含受信任的SSL证书颁发机构(CA)的列表。

使用PFX证书时,当SslMode连接选项设置为的值要求VerifyCA,或VerifyFull;否则,它将被忽略。

在使用PEM证书的情况下,当SslMode连接选项设置为的值VerifyCAVerifyFull;否则,它将被忽略。

有关用法示例,请参见第6.7.1节“在Connector/NET中使用PEM证书”

SslCert Ssl-Cert

默认值:

用于建立加密连接的PEM格式的SSL证书文件的名称。这个选项只在VerifyFull设置为SslMode连接选项和SslCa连接选项使用PEM证书;否则,它将被忽略。有关用法示例,请参见第6.7.1节“在Connector/NET中使用PEM证书”

SslKey ssl密钥

默认值:

用于建立加密连接的PEM格式的SSL密钥文件的名称。这个选项只在VerifyFull设置为SslMode连接选项和SslCa连接选项使用PEM证书;否则,它将被忽略。有关用法示例,请参见第6.7.1节“在Connector/NET中使用PEM证书”

SslMode Ssl模式 Ssl-Mode

默认值:取决于Connector/NET的版本和使用的协议。X协议不支持命名管道和共享内存连接。

  • 要求对于8.0.8到8.0.12(两个协议);8.0.13及以上版本(仅限X协议)。

  • 首选适用于8.0.13及更高版本(仅适用于经典MySQL协议)。

该选项有以下值:

  • 没有一个—不要使用SSL。不启用ssl的服务器需要将此选项设置为没有一个显式用于Connector/NET 8.0.8或更高版本。

  • 首选—在服务器支持的情况下使用SSL,但在任何情况下都允许连接。该选项在Connector/NET 8.0.8中被删除,并在8.0.13中重新实现,仅适用于经典的MySQL协议。

    请注意

    不要对X协议操作使用此选项。

  • 要求—始终使用SSL。如果服务器不支持SSL,则拒绝连接。

  • VerifyCA—始终使用SSL。验证证书颁发机构(CA),但允许名称不匹配。

  • VerifyFull—始终使用SSL。如果主机名不正确,则失败。

tlsversion tls版本 tls版本

默认:备用解决方案决定使用哪个版本的TLS。

当客户端和服务器都支持所指示的TLS版本时,限制在TLS握手期间使用的TLS协议版本集SslMode连接字符串选项未设置为没有一个.该选项接受一个版本或用逗号分隔的版本列表,例如,tls = TLSv1.2 TLSv1.3;

Connector/NET支持以下值:

  • TLSv1.3

  • TLSv1.2

  • TLSv1.1(在Connector/NET 8.0.26中已弃用)

  • TLSv1TLSv1.0(在Connector/NET 8.0.26中已弃用)

当分配的值与列出的值不同时,会报告错误。同样,如果提供空列表作为值,或者列表中的所有版本都不受支持且没有进行连接尝试,则会报告错误。

用户标识 用户Id 用户名 Uid 用户名 用户

默认值:

MySQL登录帐号。

经典MySQL协议的选项

与使用连接池的系统相关的选项一起出现在通用选项列表的末尾(请参阅连接池的选择).中的属性公开了本节中的选项MySql.Data.MySqlClient.MySqlConnectionStringBuilder类。

一般的选择。下面的Connector/NET选项是用于连接字符串的通用选项,适用于所有MySQL服务器配置:

AllowBatch 允许分批

默认值:真正的

真正的,一次执行命令就可以发送多条SQL语句。批处理语句应该用服务器定义的分隔符字符分隔。

AllowLoadLocalInfile 允许加载本地文件

默认值:

禁用(默认情况下)或启用服务器功能来加载数据本地文件。如果此选项设置为真正的方法指定的路径,则启用从任何位置上传文件AllowLoadLocalInfileInPath选择。

AllowLoadLocalInfileInPath 允许加载本地文件路径

默认值:

指定可以从中读取文件并将其上传到服务器的安全路径。当相关的AllowLoadLocalInfile选项设置为方法指定的安全路径或任何有效子文件夹中的那些文件AllowLoadLocalInfileInPath选项可加载。例如,如果/ tmp设置为受限文件夹,则文件请求为/ tmp / myfile而且/ tmp / myfolder / myfile能成功。不允许在此路径之外的任何相对路径或符号链接。

下表显示了当AllowLoadLocalInfile而且AllowLoadLocalInfileInPath组合连接字符串选项。

AllowLoadLocalInfile价值 AllowLoadLocalInfileInPath价值 行为
真正的 空字符串或价值 所有上传都是允许的。
真正的 一个有效的路径 所有上传都被允许(路径不受尊重)。
空字符串或价值 不允许上传。
一个有效的路径 只允许从指定的文件夹和子文件夹上传。
AllowPublicKeyRetrieval

默认值:

将此选项设置为真正的通知Connector/NET应该从服务器检索RSA公钥,并且在禁用SSL的情况下,默认情况下使用经典MySQL协议的连接将失败。如果之前尝试了成功的连接,或者启用了池连接并可以重用池连接,则会出现默认行为的异常。这个选项是8.0.10连接器引入的。

谨慎

该选项容易受到中间人攻击,因此应该仅在可以通过其他方式确保连接到受信任的服务器的情况下使用它。

AllowUserVariables 允许用户变量

默认值:

设置这个真正的指示提供者期望SQL中的用户变量。

AllowZeroDateTime 允许零Datetime

默认值:

如果设置为真正的MySqlDataReader.GetValue ()返回一个MySqlDateTime对象的日期或日期时间列,这些日期或日期时间列具有不允许的值,例如零日期时间值和系统。DateTime对象获取有效值。如果设置为(默认设置)会导致系统。DateTime对象,为所有有效值返回一个异常,并为不允许的值(如零datetime值)抛出一个异常。

AutoEnlist 汽车招募

默认值:真正的

如果AutoEnlist被设置为真正的,这是默认值,使用TransactionScope参与此作用域,它在作用域提交时提交,如果提交则回滚TransactionScope不提交。但是,该特性被认为是安全敏感的,因此不能在中等信任环境中使用。

从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。

BlobAsUTF8ExcludePattern

默认值:

posix风格的正则表达式,它匹配不包含UTF-8字符数据的BLOB列的名称。看到第5.16节,“连接器/NET的字符集注意事项”使用的细节。

BlobAsUTF8IncludePattern

默认值:

posix风格的正则表达式,它匹配包含UTF-8字符数据的BLOB列的名称。看到第5.16节,“连接器/NET的字符集注意事项”使用的细节。

CheckParameters 检查参数

默认值:真正的

指示是否应根据服务器检查存储的例程参数。

CommandInterceptors 命令拦截器

可以拦截SQL命令操作的拦截器列表。

ConnectionTimeout 连接超时 连接超时

默认值:15

在终止尝试并生成错误之前等待连接到服务器的时间长度(以秒为单位)。

ConvertZeroDateTime 将零Datetime

默认值:

使用真正的MySqlDataReader.GetValue ()而且MySqlDataReader.GetDateTime ()返回DateTime。MinValue对于具有不允许值的日期或日期时间列。

DefaultAuthenticationPlugin

当指定了有效的身份验证插件时,优先于服务器端默认身份验证插件(参见第4.4节,“连接器/NET认证”).的Defaultauthenticationplugin选项对于支持从缓存或密钥分发中心(KDC)检索凭证的无用户和无密码Kerberos身份验证是必选的。例如:

MySqlConnectionStringBuilder设置= new MySqlConnectionStringBuilder() {Server = "localhost", UserID = "", Password = "", Database = "mydb", Port = 3306, DefaultAuthenticationPlugin = "authentication_kerberos_client"};

如果不设置,则使用服务器端默认的认证插件。

这个选项是8.0.26连接器引入的。

DefaultCommandTimeout 默认命令超时

默认值:30.

设置要使用的命令超时的默认值。这不会取代单个命令对象上的单个命令超时属性。如果您设置了命令超时属性,则将使用该属性。

DefaultTableCacheAge 默认表缓存年龄

默认值:60

指定一个TableDirect结果应该被缓存,以秒为单位。有关表缓存的使用信息,请参见第5.3节,“使用带有表缓存的连接器/NET”

ExceptionInterceptors 异常拦截器

可以分类抛出的拦截器列表MySqlException例外。

FunctionsReturnString 函数返回字符串

默认值:

导致连接器返回二进制varbinary值作为字符串,如果它们在元数据中没有表名。

Includesecurityasserts 包括安全断言

默认值:

必须设置为真正的当使用MySQLClientPermissions类,该库安装在宿主环境的GAC中。看到第5.7节“处理部分信任/中度信任”获取详细信息。

从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。

InteractiveSession 互动 交互式会话

默认值:

如果设置为真正的,客户端是交互式的。交互式客户端是服务器变量的客户端CLIENT_INTERACTIVE是集。如果设置了交互式客户端,则wait_timeout变量设置为的值interactive_timeout.客户端会话在这段不活动时间之后就会超时。有关更多信息,请参见服务器系统变量在MySQL参考手册中。

从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。

IntegratedSecurity 集成的安全

默认值:没有

连接到服务器时使用Windows身份验证。默认情况下,它是关闭的。要启用,请指定值是的.(您也可以使用该值sspi作为替代方案是的)。有关详细信息,请参见第4.4节,“连接器/NET认证”

目前不支持。net核心实现。

日志记录

默认值:

当为true时,各种信息将输出到任何配置的tracelistener。看到第5.12节“使用连接器/NET跟踪源对象”为进一步的细节。

从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。

ociConfigFile

默认为以下路径名之一:

  • ~ / .oci /配置在Linux和macOS主机类型上

  • % HOMEDRIVE % % HOMEPATH % \ .oci \配置在Windows主机类型上

如果设置,此选项将指定Oracle Cloud Infrastructure配置文件的替代位置。Connector/NET 8.0.27(以及更高版本)使用Oracle云基础设施SDK获取API密钥的指纹,用于身份验证(指纹条目)及带有API密钥私钥部分的PEM文件(key_file条目)。条目应在(默认)概要文件。如果(默认)配置文件中缺少概要文件时,Connector/NET会查找要使用的下一个概要文件。

. net Framework 4.5不支持。x实现。

OldGuids 旧的guid

默认值:

更改GUID类型的后端表示形式二进制(16)CHAR (36).这样做是为了允许开发人员使用服务器功能UUID ()来填充一个GUID表-UUID ()生成一个36字符的字符串。旧应用程序的开发人员可以添加“老guid = true”连接字符串以使用数据类型的GUID二进制(16)

PersistSecurityInfo 坚持安全信息

默认值:

当设置为没有(强烈建议),如果连接是打开的或曾经处于打开状态,则不会将密码等安全敏感信息作为连接的一部分返回。重置连接字符串将重置所有连接字符串值,包括密码。公认的价值观真正的是的,没有

PipeName 管的名字

默认值:mysql

设置为命名管道的名称时,将MySqlConnection尝试连接到该命名管道上的MySQL。此设置仅适用于Windows平台。

目前不支持。net核心实现。

ProcedureCacheSize 程序缓存大小 程序缓存 procedurecache

默认值:25

设置存储过程缓存的大小。默认情况下,Connector/NET存储最近使用的25个存储过程的元数据(输入/输出数据类型)。若要禁用存储过程缓存,请将该值设置为零(0)。

复制

默认值:

指示此连接是否要使用复制服务器。

从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。

RespectBinaryFlags 尊重二进制旗帜

默认值:真正的

将此选项设置为意味着Connector/NET忽略由服务器设置的列的二进制标志。

SharedMemoryName 共享内存的名字

默认值:mysql

如果将传输协议设置为,则要用于通信的共享内存对象的名称内存.此设置仅适用于Windows平台。

目前不支持。net核心实现。

SqlServerMode Sql服务器模式

默认值:

允许SQL Server语法。当设置为真正的,使Connector/NET支持符号周围的方括号而不是反勾。这使Visual Studio向导能够在而且使用Connector/NET的字符。该选项会导致性能下降,因此应该只在必要时使用。

TableCaching 表缓存 TableCache

默认值:

启用或禁用缓存TableDirect命令。的值真正的启用缓存,而禁用它。有关表缓存的使用信息,请参见第5.3节,“使用带有表缓存的连接器/NET”

TreatBlobsAsUTF8 将blob视为UTF8

默认值:

将此值设置为真正的原因列的字符集use utf8使用该字符集的默认排序规则。方法只转换部分BLOB列,可以使用“BlobAsUTF8IncludePattern”而且“BlobAsUTF8ExcludePattern”关键词。将它们设置为匹配列名的正则表达式模式,分别包含或排除列名。

TreatTinyAsBoolean 将Tiny视为布尔值

默认值:真正的

将此值设置为原因非常小的整数(1)被当作…对待INT.看到数字数据类型语法为了进一步解释非常小的整数而且保龄球数据类型。

UseAffectedRows 使用受影响的行

默认值:

真正的,连接报告更改的行,而不是发现的行。

UseCompression 压缩 使用压缩

默认值:

将此选项设置为真正的启用压缩客户端和服务器之间交换的数据包。这个交换由MySQL客户端/服务器协议定义。

如果客户端和服务器都支持ZLIB压缩,并且客户端已经请求使用该选项进行压缩,则使用压缩。

压缩报文头包括:报文长度(3字节)、报文数(1字节)和未压缩报文长度(3字节)。未压缩包长度是原始未压缩包的字节数。如果该值为零,则表示此数据包中的数据未被压缩。当使用压缩协议时,客户端和服务端都可以压缩报文。但是,如果压缩的长度大于原始长度,则不会发生压缩。因此,有些数据包将包含压缩数据,而其他数据包则不包含。

UseDefaultCommandTimeoutForEF EF使用默认命令超时时间

默认值:

的命令超时EFMySqlCommand属性提供的值DefaultCommandTimeout财产。

UsePerformanceMonitor 使用性能监视器 UserPerfMon 性能监视器

默认值:

指示应在执行期间更新性能计数器。

目前不支持。net核心实现。

UseUsageAdvisor 使用使用顾问 使用顾问

默认值:

记录低效的数据库操作。

从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。

连接池的选择。以下选项与连接字符串中的连接池相关。有关连接池的更多信息,请参见打开到单个服务器的连接

CacheServerProperties 缓存服务器属性

默认值:

控件是否更新服务器变量设置显示变量每次返回池连接时命令。启用此设置可以加快连接池环境中的连接。其他连接对配置变量所做的任何更改都不会通知应用程序。

ConnectionLifeTime 连接一生

默认值:0

将连接返回到池时,将其创建时间与当前时间进行比较,如果时间跨度(以秒为单位)超过指定的值,则断开连接连接一生.该选项在集群配置中非常有用,可以强制在正在运行的服务器和刚刚上线的服务器之间实现负载平衡。值为0(0)将池连接设置为最大连接超时。

ConnectionReset 连接重置

默认值:

如果真正的,连接状态在从池中检索时重置。默认值为false,可以避免在获取连接时进行额外的服务器往返,但连接状态不会重置。

MaximumPoolsize 最大池大小 最大池大小 MaxPoolSize

默认值:One hundred.

池中允许的最大连接数。

MinimumPoolSize 最小池大小 最小池大小 MinPoolSize

默认值:0

池中允许的最小连接数。

默认值:真正的

真正的,MySqlConnection对象从适当的池中提取,或者在必要时创建并添加到适当的池中。公认的价值观真正的是的,没有

仅X协议选项

下面的连接选项对于使用X协议进行的连接是有效的。中的属性公开了本节中的选项MySqlX.XDevAPI.MySqlXConnectionStringBuilder类。

身份验证 身份验证 身份验证模式

与X协议一起使用的认证机制。此选项是在8.0.9连接器中引入的,具有以下值,不区分大小写:MYSQL41平原,外部.如果身份验证选项未设置,则根据连接类型选择机制。平原使用for安全连接(TLS或Unix套接字)和MYSQL41用于未加密的连接。外部用于外部身份验证方法,如PAM、Windows登录id、LDAP或Kerberos。(外部目前不支持。)

身份验证选项对于经典的MySQL协议连接和返回不支持NotSupportedException如果使用。

压缩 通过压缩

默认值:首选

如果客户端和服务器都支持X协议连接的压缩,并且客户端使用此选项请求压缩,则使用压缩发送和接收数据。在成功进行算法协商之后,Connector/NET可以立即开始压缩数据。为了防止对小数据包或已经压缩的数据进行压缩,Connector/NET将大小阈值定义为1000字节。

当服务器支持多种压缩算法时,默认情况下Connector/NET应用以下优先级:zstd_stream(第一次),lz4_message(二),deflate_stream(第三)。的deflate_stream算法支持在。net Core中使用,但不支持在。net Framework中使用。

提示

使用压缩算法选项以不同的顺序指定一个或多个支持的算法。算法按照客户提供的顺序进行协商。有关使用的详细信息,请参见压缩算法选择。

在Connector/NET 8.0.20版本中添加了用于X协议连接的数据压缩。的压缩选项接受以下值:

  • 首选如果服务器支持客户机选择的算法,则应用数据压缩。否则,不压缩数据的发送和接收。

  • 要求以确保使用压缩或终止连接并返回错误消息。

  • 禁用防止数据压缩。

压缩算法 CompressionAlgorithms

从Connector/NET 8.0.22开始,客户机应用程序可以指定与服务器协商所支持的压缩算法的顺序。的值压缩连接选项必须设置为首选要求以应用此选项。不支持的算法将被忽略。

该选项接受以下算法名称和同义词:

  • lz4_messagelz4

  • zstd_streamzstd

  • deflate_stream缩小(在。net框架中无效)

算法名和同义词可以组合在逗号分隔的列表中,也可以作为独立的值(带或不带括号)提供。例子:

//压缩选项设置为首选(默认)mysqlx . getsession ("mysqlx://test:test@localhost:3306?压缩算法= [lz4_message,缩小]MySQLX.GetSession(“mysqlx: / /测试:test@localhost: 3306 ?compressionalgorithms = lz4 MySQLX.GetSession(“mysqlx: / /测试:test@localhost: 3306 ?compression=preferred&compression-algorithms=[zstd] //设置所需的mysqlx . getsession ("mysqlx://test:test@localhost:3306?压缩= required&compression-algorithms = [zstd_stream lz4_message] MySQLX.GetSession(“mysqlx: / /测试:test@localhost: 3306 ?压缩= required&compression-algorithms = [lz4] MySQLX.GetSession(“mysqlx: / /测试:test@localhost: 3306 ?compression=required&compression-algorithms=zstd_stream //连接字符串MySQLX. getsession ("server=localhost;port=3306;uid=test;password=test;compression=required;compression-algorithms=lz4_message;")GetSession(new {server =" localhost", port =" 3306", uid =" test", password =" test", compression="required", compressionalgorithms =" deflate_stream"})

有关其他信息,请参见使用X插件进行连接压缩

连接属性 ConnectionAttributes

默认值:真正的

该选项是在Connector/NET 8.0.16中引入的,用于向服务器提交一组要与默认连接属性一起传递的属性。的值限制了客户机发送的连接属性数据的聚合大小performance_schema_session_connect_attrs_size服务器变量。数据包的总大小应该小于服务器变量的值。有关连接属性的一般信息,请参见性能模式连接属性表

连接属性参数值可以为空(与指定相同真正的),一个布尔值(真正的启用或禁用默认属性集),或一个列表或零个或多个键=值用逗号分隔的说明符(将在默认属性集之外发送)。在列表中,缺少的键值计算为价值。例子:

//会话mysqlx . getsession ($"mysqlx://user@host/schema") mysqlx . getsession ($"mysqlx://user@host/schema?connection-attributes=true") mysqlx . getsession ($"mysqlx://user@host/schema?connection-attributes=false") mysqlx . getsession ($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]") mysqlx . getsession ($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]") mysqlx . getsession ($"mysqlx://user@host/schema?connection-attributes=[]"mysqlx . getclient ($"mysqlx://user@host/schema") mysqlx . getclient ($"mysqlx://user@host/schema?connection-attributes=true") mysqlx . getclient ($"mysqlx://user@host/schema?connection-attributes=false") mysqlx . getclient ($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]") mysqlx . getclient ($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]")

应用程序定义的属性名称不能以_因为这样的名称是为内部属性保留的。

如果没有以有效的方式指定连接属性,则会发生错误,连接尝试失败。

Connect-Timeout ConnectTimeout

默认值:10000

在终止尝试并生成错误之前,等待与服务器建立X协议连接的时间长度(以毫秒为单位)。您可以通过将该值设置为零来禁用连接超时。该选项可以按以下方式指定:

  • 类似uri的连接字符串示例

    MySQLX.GetSession(“mysqlx: / /测试:test@localhost: 33060 ? connect-timeout = 2000 ");
  • 连接字符串的例子

    MySQLX.GetSession(“服务器= localhost;用户=测试;港口= 33060;connect-timeout = 2000 ");
  • 匿名对象的例子

    MySQLX。GetSession(new {server="localhost", user="test", port=33060, connecttimeout=2000});
  • MySqlXConnectionStringBuilder类的例子

    var builder = new MySqlXConnectionStringBuilder("server=localhost;user=test;port=33060");构建器。ConnectTimeout = 2000;MySQLX.GetSession (builder.ConnectionString);
SslCrl Ssl-Crl

默认值:

包含证书撤销列表的本地文件的路径。

重要的

虽然SslCrl连接字符串选项对使用是有效的,应用它将引发一个NotSupportedException消息。

SslEnable 启用ssl

默认值:

启用或禁用对使用X协议进行的连接使用SSL。的值真正的设置SslMode要求将它设置为没有一个

此选项在Connector/NET 7.0.5中引入,在Connector/NET 8.0.8中删除,因为在适当的情况下默认启用SSL。从Connector/NET 8.0.8开始,要在服务器不支持SSL时禁用SSL,必须将值设置为SslMode没有一个明确。