https://mysqlconnector.net/connection-options/
连接选项MysqLConnector支持大多数Oracle的Connector / NET连接选项。
还有一些只能由MysqLConnector支持一些独特的选项,用于替换mysql.data
该修正错误,增加了新的功能,并提高了数据库的访问性能。立即安装。
这些是需要定义以连接到MysqL数据库的基本选项。
名称 | 默认 | 描述 |
---|---|---|
主机,服务器,数据源,数据源,地址,地址,网络地址 | 本地主机 | 要连接的MysqL服务器的主机名或网络地址。可以在逗号分隔的列表中指定多个主机。 在类Unix系统上,这可以是MysqL套接字文件的完全限定路径,这将导致使用Unix套接字而不是TCP / IP套接字。只能指定一个套接字名称。 |
港口 | 3306 | MysqL服务器正在侦听连接的TCP端口。 |
用户ID,用户ID,用户名,UID,用户名,用户 | MysqL用户标识。 | |
密码,密码 | MysqL用户的密码。 | |
数据库,初始目录 | (可选)要使用的初始数据库的区分大小写的名称。如果MysqL用户帐户仅具有服务器上特定数据库的访问权限,则可能需要这样做。 | |
协议,ConnectionProtocol,连接协议 | 插座 | 如何连接到MysqL服务器。此选项具有以下值: 套接字(默认):使用TCP / IP套接字。 Unix:使用Unix套接字。 管道:使用windows命名管道。 |
管道,Pipename,管道名称 | MysqL | 用于连接服务器的windows命名管道的名称。您还必须设置ConnectionProtocol=pipe 使用命名管道。 |
这些是为了配置连接以使用SSL / TLS而需要使用的选项。
名称 | 默认 | 描述 |
---|---|---|
SSL模式,SslMode | 首选 | 此选项具有以下值: 首选 - (这是默认值)。如果服务器支持SSL,请使用SSL。 无 - 不使用SSL。 必需 - 始终使用SSL。如果服务器不支持SSL,则拒绝连接。不验证CA或主机名。 VerifyCA - 始终使用SSL。验证CA但容许主机名不匹配。 VerifyFull - 始终使用SSL。验证CA和主机名。 |
证书文件,证书文件 | 指定PKCS#12(.pfx)格式的证书文件的路径,该格式包含用于相互身份验证的捆绑证书和私钥。要从PEM编码的证书和密钥创建PKCS#12捆绑包,请使用openssl pkcs12 -in cert.pem -inkey key.pem -export -out bundle.pfx 。如果SslCert 和SslKey 使用此选项,则不应指定此选项。 | |
证书密码,CertificatePassword | 指定使用该Certificatefile 选项指定的证书的密码。如果证书文件未受密码保护,则不需要。 | |
SslCert,Ssl-Cert | 指定PEM格式的客户端SSL证书文件的路径。SslKey 也必须指定,Certificatefile 不应该。netstandard1.3 或netstandard2.0 平台不支持此选项。 | |
SslKey,Ssl-Key | 指定PEM格式的客户端SSL私钥的路径。SslCert 也必须指定,Certificatefile 不应该。 | |
CA证书文件,CACertificatefile,SslCa,Ssl-Ca | 此选项指定PEM编码(.pem)格式的CA证书文件的路径。这应该与SslMode=VerifyCA 或者SslMode=VerifyFull 用于验证 *** 作系统的证书存储不信任的CA证书。 | |
证书商店位置,CertificateStoreLocation | 没有 | 指定是否应使用计算机上证书存储中的证书加密连接。默认值None 表示未使用证书存储区; 值的值CurrentUser 或LocalMachine 使用指定的商店。 |
证书指纹,CertificateThumbprint | 指定应从上述设置中指定的证书库中使用哪个证书。必须使用此选项指示应将商店中的哪个证书用于身份验证。 |
默认情况下启用连接池。这些选项用于配置它。
名称 | 默认 | 描述 |
---|---|---|
池 | 真正 | 启用连接池。启用MysqLConnection.Open 池时,如果有可用池,则从池中检索打开的连接(如果没有,则从中打开新连接),并且Close / dispose 返回池的打开连接。 |
连接生命周期,ConnectionlifeTime | 0 | 控制与服务器的连接可以打开的最长时间。如果ConnectionlifeTime 连接创建后的连接超过秒,则会销毁返回到池的连接。默认值零(0)表示池连接永远不会导致ConnectionlifeTime超时。 |
连接重置,Connectionreset | true | 如果true ,从池中检索连接状态时重置连接状态。默认值true 确保连接处于相同状态,无论是新创建还是从池中检索。的值false 可避免获取连接时再有一次额外的服务器往返行程,但连接状态不会被重置,这意味着会话变量及任何先前使用其他连接会话状态的变化结转。 |
连接空闲Ping时间,连接空闲Ping时间(实验) | 0 | 当连接从池中取出,并Connectionreset 是false ,如果连接已经在池中闲置长于服务器将被Ping通ConnectionIDlePingTime 秒。如果Ping服务器失败,连接池将自动打开一个新连接。这可以确保MysqLConnection 在调用Open / 之后处于有效的打开状态OpenAsync ,代价是额外的服务器往返。对于高性能方案,您可能希望设置ConnectionIDlePingTime 为非零值,以使连接池假定最近返回的连接仍处于打开状态。如果连接断开,它会抛出从第一次调用ExecuteNonquery ,ExecuteReader 等; 您的代码应该处理该失败并重试连接。如果Connectionreset 是,则此选项无效true ,因为这将导致连接重置数据包被发送到服务器,使Ping多余。 |
连接空闲超时,ConnectionIDleTimeout | 180 | 连接在池中保持空闲的时间(以秒为单位)。任何MinimumPoolSize 空闲时间超过连接的连接ConnectionIDleTimeout 都可能被后台任务关闭。后台任务每隔一分钟或一半运行ConnectionIDleTimeout ,以较频繁的为准。值为零(0)表示池连接永远不会产生ConnectionIDleTimeout,如果池增长到其最大大小,它将永远不会变小。 |
最大池大小,最大池大小,MaximumPoolsize,maxpoolsize | 100 | 池中允许的最大连接数。 |
最小池大小,最小池大小,MinimumPoolSize,minpoolsize | 0 | 如果达到ConnectionIDleTimeout,则在池中保留的最小连接数。 |
该Server
选项支持多个逗号分隔的主机名。当它与连接池一起使用时,该LoadBalance
选项控制如何跨后端服务器分配负载。
RoundRobin
(默认值),:将打开Random
总MaximumPoolSize
连接数,但它们可能在后端不均匀分布。 LeastConnections
:MaximumPoolSize
将打开总连接数,它们将均匀分布在后端。将以最近最少使用的顺序从池中选择活动连接,这不能确保跨后端的均匀负载。您应该设置MaximumPoolSize
服务器数量乘以每个后端服务器所需的最大打开连接数。 Failover
:所有连接最初将发送到列表中的第一个服务器。您应该设置MaximumPoolSize
每台服务器所需的最大打开连接数。 其他选择 这些是MysqLConnector支持的其他选项。它们被设置为合理的默认值,通常不需要进行调整。
名称 | 默认 | 描述 |
---|---|---|
AllowPublicKeyRetrIEval,允许公钥检索 | 假 | 如果用户帐户使用sha256_password 身份验证,则必须在传输过程中保护密码; TLS是首选的机制,但如果它不可用,则将使用RSA公钥加密。要指定服务器的RSA公钥,请使用ServerRSAPublicKeyfile 连接字符串设置,或设置AllowPublicKeyRetrIEval=True 为允许客户端自动从服务器请求公钥。请注意,AllowPublicKeyRetrIEval=True 可能允许恶意代理执行MITM攻击以获取明文密码,因此False 默认情况下它必须明确启用。 |
AllowUserVariables,允许用户变量 | 假 | 允许@ 在SQL语句中使用用户定义的变量(带前缀)。默认值(false )仅允许使用@ -prefixed name来引用命令参数。 |
AllowZeroDateTime,允许零日期时间 | 假 | 如果设置为 真正所有`DATE`,`DATETIME`和`TIMESTAMP`列都作为`MysqLDateTime`对象而不是`DateTime`返回。这允许从数据库中检索特殊的“零”日期值`0000-00-00`。如果false (默认)日期列返回为“DateTime”值,则抛出不可表示日期的异常。 |
Applicationname,应用程序名称 | 空值 | 设置 PROGRAM_name连接属性传递给MysqL服务器。该值可以由诊断工具显示,例如,作为MySQL Workbench中“ClIEnt Connections”中的“Program”列。 |
字符集,字符集,字符集 | utf8mb4 | MysqLConnector始终用于utf8mb4 从MysqL服务器发送和接收字符串。可以指定此选项(为了向后兼容),但会忽略它。 |
压缩,使用压缩,使用压缩 | 假 | 如果为true(并且服务器支持压缩),则压缩客户端和服务器之间发送的数据包。除非应用程序和数据库服务器之间存在高延迟或低带宽的网络链接,否则此选项在实践中不太可能有用。您应该使用和不使用此选项来衡量性能,以确定它是否对您的环境有益。 |
连接超时,连接超时,ConnectionTimeout | 15 | 在终止尝试并生成错误之前等待连接到服务器的时间长度(以秒为单位)。 |
转换零日期时间,ConvertZeroDateTime | 假 | 如果为true,则MysqLDataReader.GetValue()和MysqLDataReader.GetDateTime()将为具有不允许值的日期或日期时间列返回DateTime.MinValue。 |
DateTimeKind | 不明 | 该DateTimeKind 时使用MysqLDataReader 返回DateTime 。如果设置为Utc 或Local ,MysqLException 则如果DateTime 命令参数的a 或者分别为a Kind ,则抛出a 。Local Utc |
GuIDFormat | 默认 | 确定应将哪个列类型(如果有)读取为a CHAR(36) 列都 GuID 使用带有连字符的小写十六进制读/写,匹配 UUID() 。 的char32 所有 CHAR(32) 列都 GuID 使用不带连字符的小写十六进制读/写。 Binary16 所有 BINARY(16) 列都 GuID 使用big-endian字节顺序进行读/写,匹配 UUID_TO_BIN(x) 。 TimeSwapBinary16 所有 BINARY(16) 列都是 GuID 使用big-endian字节顺序读取/写入,时间部分交换,匹配 UUID_TO_BIN(x,1) 。 littleEndianBinary16 所有 BINARY(16) 列的读/写为 GuID 使用little-endian字节顺序,即所用的字节顺序 GuID.ToByteArray() 和 GuID(byte[]) 构造。 没有 没有列类型会自动读取为 GuID 。 默认 同样 Char36 如此 oldGuIDs=False ; 同样 littleEndianBinary16 如此 oldGuIDs=True 。 |
默认命令超时,命令超时,DefaultCommandTimeout | 三十 | 每个命令在超时和抛出异常之前可以执行的时间长度(以秒为单位),或者为零以禁用超时。有关 如何确定此更多说明,请参阅Microsoft文档中的注释。 |
IgnoreCommandTransaction,忽略命令事务 | 假 | 如果true ,则MysqLCommand.Transaction 在执行命令时忽略值。这与Connector / NET行为相匹配,可以使移植代码更容易。有关更多信息,请参阅事务使用。 |
交互式,交互式会话,InteractiveSession | 假 | 如果true ,会话wait_timeout 变量是从全局初始化的interactive_timeout |
保持活力,保持活力 | 0 | TCP Keepalive空闲时间。值为0表示使用了OS Default keepalive设置。在windows上,大于0的值是在发送第一个keepalive数据包之前的空闲连接时间(以秒为单位)。由于.NET Core的限制,基于Unix的 *** 作系统将始终使用 *** 作系统默认保持活动设置。 |
负载平衡,负载平衡 | ROUNDROBIN |
Pooling=True 。这是默认值 Pooling=True 。 故障转移 每个新连接都尝试连接到第一个主机; 仅当连接到第一个主机失败时才使用后续主机。这是默认值 Pooling=False 。 随机 服务器以随机顺序尝试。 LeastConnections 按此连接池中当前打开的连接数的升序尝试服务器。需要 Pooling=True 。 |
老GuIDs,oldGuIDs | 假 | 过时的; 请改用该GuIDFormat 选项。 |
坚持安全信息,PersistSecurityInfo | 假 | 如果设置为false或no(强烈建议),则在连接处于打开状态或处于打开状态时,安全性敏感信息(如密码)不会作为连接的一部分返回。重置连接字符串会重置所有连接字符串值,包括密码。认可的价值观是真实的,错误的,是的,是的。 |
ServerRSAPublicKeyfile,服务器RSA公钥文件 | 用于sha256_password 身份验证 见下的评论AllowPublicKeyRetrIEval 。 | |
ServerSPN,服务器SPN | 对于MariaDB auth_gssapi_client 身份验证。指定服务器的服务主体名称(以验证是否使用正确的服务器进行身份验证)。 | |
将Tiny As视为布尔值,TreatTinyAsBoolean | 真正 | 设置为时true ,tinyint(1) 值将作为布尔值返回。将此设置为false 导致tinyint(1) 以sbyte / byte返回。 |
使用受影响的行,UseAffectedRows | 假 | 当false (默认)时,连接报告找到行而不是已更改(受影响)的行。设置为true 仅报告实际更改的行数UPDATE 或INSERT … ON DUPliCATE KEY UPDATE 语句。 |
使用XA Transactions,UseXaTransactions | 真正 | 何时true (默认),使用TransactionScope 或MysqLConnection.EnListTransaction 将使用XA交易。这允许真正的分布式事务,但可能与服务器复制不兼容; 还有其他限制。设置false 为时,使用常规MysqL事务,就像Connector / NET一样。 |
这些选项由Connector / NET使用,但MysqLConnector不支持。通常,从Connector / NET迁移到MysqLConnector时,应从连接字符串中删除它们。
名称 | 默认 | 描述 |
---|---|---|
AllowBatch,允许批处理 | 真正 | MysqLConnector始终允许批处理语句。 |
CheckParameters,检查参数 | 真正 | MysqLConnector始终有效地检查存储过程参数; 没有必要禁用它。 |
CommandInterceptors,命令拦截器 | MysqLConnector不支持此可扩展性机制,该机制与异步 *** 作不兼容。 | |
ExceptionInterceptors,Exception Interceptors | MysqLConnector不支持此可扩展性机制。 | |
FunctionsReturnString,函数返回String | 假 | 不支持。BLOB总是返回为byte[] 。 |
IncludeSecurityAsserts,Include Security Asserts | 假 | 不支持。对于部分信任环境。 |
IntegratedSecurity,Integrated Security | 假 | 不支持windows身份验证。 |
记录 | 假 | 请改用MySqlConnector日志(更灵活)。 |
oldSyntax,旧语法,USEOldSyntax,使用旧语法 | 假 | 此选项在Connector / NET中已弃用,在MysqLConnector中不受支持。 |
ProcedureCacheSize,Procedure Cache Size,ProcedureCache,Procedure Cache | MysqLConnector对缓存的存储过程元数据量没有限制。它需要非常少的内存。 | |
RespectBinaryFlags,尊重二进制标志 | 真正 | 始终遵守列的二进制类型。 |
SharedMemoryname,共享内存名称 | 真正 | 共享内存(在windows上)不支持作为连接协议。 |
sqlServerMode,sql Server Mode | 假 | 不支持。 |
TreatBlobsAsUtf8,将BLOB视为UTF8 | 假 | 不支持。BLOB总是返回为byte[] 。 |
UsePerformanceMonitor,Use Performance Monitor,UserPerfMon,PerfMon | 假 | 不支持。 |
使用UsageAdvisor,使用Usage Advisor,Usage Advisor | 假 |
以上是内存溢出为你收集整理的MySqlConnector连接选项全部内容,希望文章能够帮你解决MySqlConnector连接选项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)