本章描述了MySQL Connector/NET 8.0的全套连接选项。您用来连接到服务器的协议(经典的MySQL协议或X协议)决定了您应该使用哪些选项。连接选项有一个默认值,您可以在连接字符串(经典的MySQL协议和X协议)或类似uri的连接字符串(X协议)中定义新值来覆盖该默认值。连接器/NET选项名和同义词不区分大小写。
有关如何使用连接字符串的说明,请参见第4.4.1节“创建连接器/NET连接字符串”.有关其他连接样式,请参见使用类似uri的字符串或键值对连接到服务器.
下面列出了适用于这两种协议的连接选项,仅适用于经典的MySQL协议和仅适用于X协议:
以下Connector/NET连接选项可用于任意一种协议。Connector/NET 8.0将本节中的选项公开为属性MySql.Data.MySqlClient.MySqlConnectionStringBuilder
而且MySqlX.XDevAPI.MySqlXConnectionStringBuilder
类。
-
CertificateFile
,证书文件
-
默认值:
零
此选项指定PKCS #12格式的证书文件的路径(
.pfx
).有关用法示例,请参见第4.6.7.2节“在Connector/NET中使用PFX证书”. -
CertificatePassword
,证书密码
-
默认值:
零
指定与使用该选项指定的证书一起使用的密码
CertificateFile
.有关用法示例,请参见第4.6.7.2节“在Connector/NET中使用PFX证书”. -
CertificateStoreLocation
,证书存储位置
-
默认值:
零
使您能够访问保存在个人存储区的证书,而不是使用证书文件和密码组合。有关用法示例,请参见第4.6.7.2节“在Connector/NET中使用PFX证书”.
-
CertificateThumbprint
,证书指纹
-
默认值:
零
指定证书指纹,以确保个人存储区中包含的证书的正确标识。有关用法示例,请参见第4.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
连接选项设置为的值VerifyCA
或VerifyFull
;否则,它将被忽略。有关用法示例,请参见第4.6.7.1节“在Connector/NET中使用PEM证书”.
-
SslCert
,Ssl-Cert
-
默认值:
零
用于建立加密连接的PEM格式的SSL证书文件的名称。这个选项只在
VerifyFull
设置为SslMode
连接选项和SslCa
连接选项使用PEM证书;否则,它将被忽略。有关用法示例,请参见第4.6.7.1节“在Connector/NET中使用PEM证书”. -
SslKey
,ssl密钥
-
默认值:
零
用于建立加密连接的PEM格式的SSL密钥文件的名称。这个选项只在
VerifyFull
设置为SslMode
连接选项和SslCa
连接选项使用PEM证书;否则,它将被忽略。有关用法示例,请参见第4.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版本
-
默认值:
Tlsv1、Tlsv1.1 Tlsv1.2 Tlsv1.3
(备用解决方案决定使用哪个TLS版本。)当客户端和服务器都支持所指示的TLS版本时,限制在TLS握手期间使用的TLS协议版本集
SslMode
连接字符串选项未设置为没有一个
.该选项接受一个版本或用逗号分隔的版本列表,例如,tls = TLSv1.1 TLSv1.2 TLSv1.3;
.Connector/NET支持以下值:
TLSv1.3
TLSv1.2
TLSv1.1
TLSv1
或TLSv1.0
当分配的值与列出的值不同时,会报告错误。同样,如果提供空列表作为值,或者列表中的所有版本都不受支持且没有进行连接尝试,则会报告错误。
-
用户标识
,用户Id
,用户名
,Uid
,用户名
,用户
-
默认值:
零
MySQL登录帐号。
与使用连接池的系统相关的选项一起出现在通用选项列表的末尾(请参阅连接池的选择).中的属性公开了本节中的选项MySql.Data.MySqlClient.MySqlConnectionStringBuilder
类。
一般的选择。下面的Connector/NET选项是用于连接字符串的通用选项,适用于所有MySQL服务器配置:
-
AllowBatch
,允许分批
-
默认值:
真正的
当
真正的
,一次执行命令就可以发送多条SQL语句。批处理语句应该用服务器定义的分隔符字符分隔。 -
AllowLoadLocalInfile
,允许加载本地文件
-
默认值:
假
禁用(默认情况下)或启用服务器功能来加载数据本地文件。如果此选项设置为
真正的
方法指定的路径,则启用从任何位置上传文件AllowLoadLocalInfileInPath
选择。 -
AllowLoadLocalInfileInPath
,允许加载本地文件路径
-
默认值:
零
指定可以从中读取文件并将其上传到服务器的安全路径。当相关的
AllowLoadLocalInfile
选项设置为假
方法指定的安全路径或任何有效子文件夹中的那些文件AllowLoadLocalInfileInPath
选项可加载。例如,如果/ tmp
设置为受限文件夹,则文件请求为/ tmp / myfile
而且/ tmp / myfolder / myfile
能成功。不允许在此路径之外的任何相对路径或符号链接。下表显示了当
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列的名称。看到第4.5.14节,“连接器/NET的字符集注意事项”使用的细节。
-
BlobAsUTF8IncludePattern
-
默认值:
零
posix风格的正则表达式,它匹配包含UTF-8字符数据的BLOB列的名称。看到第4.5.14节,“连接器/NET的字符集注意事项”使用的细节。
-
CheckParameters
,检查参数
-
默认值:
真正的
指示是否应根据服务器检查存储的例程参数。
-
CommandInterceptors
,命令拦截器
-
可以拦截SQL命令操作的拦截器列表。
-
ConnectionTimeout
,连接超时
,连接超时
-
默认值:
15
在终止尝试并生成错误之前等待连接到服务器的时间长度(以秒为单位)。
-
ConvertZeroDateTime
,将零Datetime
-
默认值:
假
使用
真正的
有MySqlDataReader.GetValue ()
而且MySqlDataReader.GetDateTime ()
返回DateTime。MinValue
对于具有不允许值的日期或日期时间列。 -
DefaultCommandTimeout
,默认命令超时
-
默认值:
30.
设置要使用的命令超时的默认值。这不会取代单个命令对象上的单个命令超时属性。如果您设置了命令超时属性,则将使用该属性。
-
DefaultTableCacheAge
,默认表缓存年龄
-
默认值:
60
指定一个
TableDirect
结果应该被缓存,以秒为单位。有关表缓存的使用信息,请参见第4.5.4节,“使用带有表缓存的连接器/NET”. -
ExceptionInterceptors
,异常拦截器
-
可以分类抛出的拦截器列表
MySqlException
例外。 -
FunctionsReturnString
,函数返回字符串
-
默认值:
假
导致连接器返回
二进制
或varbinary
值作为字符串,如果它们在元数据中没有表名。 -
Includesecurityasserts
,包括安全断言
-
默认值:
假
必须设置为
真正的
当使用MySQLClientPermissions
类,该库安装在宿主环境的GAC中。看到第4.5.16节“使用部分信任/中度信任”获取详细信息。从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.5.3.1节“使用Windows本地身份验证插件”.目前不支持。net核心实现。
-
日志记录
-
默认值:
假
当为true时,各种信息将输出到任何配置的tracelistener。看到第4.5.12节“使用连接器/NET跟踪源对象”为进一步的细节。
从8.0.10开始,这个选项在. net Core 2.0实现中得到了支持。
-
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
命令。的值真正的
启用缓存,而假
禁用它。有关表缓存的使用信息,请参见第4.5.4节,“使用带有表缓存的连接器/NET”. -
TreatBlobsAsUTF8
,将blob视为UTF8
-
默认值:
假
将此值设置为
真正的
原因团
列的字符集use utf8
使用该字符集的默认排序规则。方法只转换部分BLOB列,可以使用“BlobAsUTF8IncludePattern”
而且“BlobAsUTF8ExcludePattern”
关键词。将它们设置为匹配列名的正则表达式模式,分别包含或排除列名。 -
TreatTinyAsBoolean
,将Tiny视为布尔值
-
默认值:
真正的
将此值设置为
假
原因非常小的整数(1)
被当作…对待INT
.看到数字数据类型语法为了进一步解释非常小的整数
而且保龄球
数据类型。 -
UseAffectedRows
,使用受影响的行
-
默认值:
假
当
真正的
,连接报告更改的行,而不是发现的行。 -
UseCompression
,压缩
,使用压缩
-
默认值:
假
将此选项设置为
真正的
启用压缩客户端和服务器之间交换的数据包。这个交换由MySQL客户端/服务器协议定义。如果客户端和服务器都支持ZLIB压缩,并且客户端已经请求使用该选项进行压缩,则使用压缩。
压缩报文头包括:报文长度(3字节)、报文数(1字节)和未压缩报文长度(3字节)。未压缩包长度是原始未压缩包的字节数。如果该值为零,则表示此数据包中的数据未被压缩。当使用压缩协议时,客户端和服务端都可以压缩报文。但是,如果压缩的长度大于原始长度,则不会发生压缩。因此,有些数据包将包含压缩数据,而其他数据包则不包含。
-
UseDefaultCommandTimeoutForEF
,EF使用默认命令超时时间
-
默认值:
假
的命令超时
EFMySqlCommand
属性提供的值DefaultCommandTimeout
财产。 -
UseOldSyntax
,旧的语法
,OldSyntax
,使用旧的语法
-
默认值:
假
此选项已在Connector/NET 8.0.8中删除。现在,所有代码都应该使用“@”符号作为参数标记来编写。
-
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协议进行的连接是有效的。中的属性公开了本节中的选项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_message
或lz4
zstd_stream
或zstd
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
来没有一个
明确。