配置属性定义 Connector/J 如何连接到 MySQL 服务器。除非另有说明,否则可以为 DataSource
对象或 Connection
对象设置属性。
可以通过以下方式之一设置配置属性:
-
使用 MySQL
java.sql.DataSource
实现上的set*()
方法(这是使用java.sql.DataSource
实现时的首选方法)com.mysql.cj.jdbc.MysqlDataSource
com.mysql.cj.jdbc.MysqlConnectionPoolDataSource
作为传递给
DriverManager.getConnection()
或Driver.connect()
的java.util.Properties
实例中的键值对-
作为提供给
java.sql.DriverManager.getConnection()
、java.sql.Driver.connect()
或javax.sql.DataSource
的setURL()
方法的 MySQL 实现的 JDBC URL 参数。如果在 URL 中指定配置属性而不为其提供值,则不会设置任何内容;例如,单独将useServerPrepStmts
添加到 URL 不会使 Connector/J 使用服务器端预处理语句;您需要添加useServerPrepStmts=true
。注意如果您用来配置 JDBC URL 的机制是基于 XML 的,请使用 XML 字符字面量
&
来分隔配置参数,因为“与”符号是 XML 的保留字符。
下表和后续小节按类别列出了这些属性。单击表中的属性名称,可在小节中查看其完整说明。
表 6.1 身份验证属性
名称 | 默认值 | 自版本 |
---|---|---|
user |
- | 所有版本 |
password |
- | 所有版本 |
password1
|
- | 8.0.28 |
password2
|
- | 8.0.28 |
password3
|
- | 8.0.28 |
authenticationPlugins |
- | 5.1.19 |
disabledAuthenticationPlugins |
- | 5.1.19 |
defaultAuthenticationPlugin |
caching_sha2_password | 5.1.19 |
ldapServerHostname |
- | 8.0.23 |
ociConfigFile |
- | 8.0.27 |
ociConfigProfile |
DEFAULT | 8.0.33 |
authenticationWebAuthnCallbackHandler |
- | 8.2.0 |
表 6.2 连接属性
名称 | 默认值 | 自版本 |
---|---|---|
connectionAttributes |
- | 5.1.25 |
connectionLifecycleInterceptors |
- | 5.1.4 |
useConfigs
|
- | 3.1.5 |
clientInfoProvider |
com.mysql.cj.jdbc.CommentClientInfoProvider | 5.1.0 |
createDatabaseIfNotExist |
false | 3.1.9 |
databaseTerm
|
CATALOG | 8.0.17 |
detectCustomCollations |
false | 5.1.29 |
disconnectOnExpiredPasswords |
true | 5.1.23 |
interactiveClient |
false | 3.1.0 |
passwordCharacterEncoding |
- | 5.1.7 |
propertiesTransform |
- | 3.1.4 |
rollbackOnPooledClose |
true | 3.0.15 |
useAffectedRows |
false | 5.1.7 |
表 6.3 会话属性
名称 | 默认值 | 自版本 |
---|---|---|
sessionVariables |
- | 3.1.8 |
characterEncoding |
- | 1.1g |
characterSetResults |
- | 3.0.13 |
connectionCollation |
- | 3.0.13 |
customCharsetMapping |
- | 8.0.26 |
trackSessionState |
false | 8.0.26 |
表 6.4 网络属性
名称 | 默认值 | 自版本 |
---|---|---|
socksProxyHost |
- | 5.1.34 |
socksProxyPort |
1080 | 5.1.34 |
socketFactory |
com.mysql.cj.protocol.StandardSocketFactory | 3.0.3 |
connectTimeout |
0 | 3.0.1 |
socketTimeout |
0 | 3.0.1 |
dnsSrv |
false | 8.0.19 |
localSocketAddress |
- | 5.0.5 |
maxAllowedPacket |
65535 | 5.1.8 |
socksProxyRemoteDns |
false | 8.0.29 |
tcpKeepAlive
|
true | 5.0.7 |
tcpNoDelay
|
true | 5.0.7 |
tcpRcvBuf
|
0 | 5.0.7 |
tcpSndBuf
|
0 | 5.0.7 |
tcpTrafficClass |
0 | 5.0.7 |
useCompression |
false | 3.0.17 |
useUnbufferedInput |
true | 3.0.11 |
表 6.5 安全属性
名称 | 默认值 | 自版本 |
---|---|---|
paranoid |
false | 3.0.1 |
serverRSAPublicKeyFile |
- | 5.1.31 |
allowPublicKeyRetrieval |
false | 5.1.31 |
sslMode |
PREFERRED | 8.0.13 |
trustCertificateKeyStoreUrl |
- | 5.1.0 |
trustCertificateKeyStoreType |
JKS | 5.1.0 |
trustCertificateKeyStorePassword |
- | 5.1.0 |
fallbackToSystemTrustStore |
true | 8.0.22 |
clientCertificateKeyStoreUrl |
- | 5.1.0 |
clientCertificateKeyStoreType |
JKS | 5.1.0 |
clientCertificateKeyStorePassword |
- | 5.1.0 |
fallbackToSystemKeyStore |
true | 8.0.22 |
tlsCiphersuites |
- | 5.1.35 |
tlsVersions
|
- | 8.0.8 |
fipsCompliantJsse |
false | 8.1.0 |
KeyManagerFactoryProvider |
- | 8.1.0 |
trustManagerFactoryProvider |
- | 8.1.0 |
keyStoreProvider |
- | 8.1.0 |
sslContextProvider |
- | 8.1.0 |
allowLoadLocalInfile |
false | 3.0.3 |
allowLoadLocalInfileInPath |
- | 8.0.22 |
allowMultiQueries |
false | 3.1.1 |
allowUrlInLocalInfile |
false | 3.1.4 |
requireSSL
|
false | 3.1.0 |
useSSL |
true | 3.0.2 |
verifyServerCertificate |
false | 5.1.6 |
表 6.6 语句属性
名称 | 默认值 | 自版本 |
---|---|---|
cacheDefaultTimeZone |
true | 8.0.20 |
continueBatchOnError |
true | 3.0.3 |
dontTrackOpenResources |
false | 3.1.7 |
queryInterceptors |
- | 8.0.7 |
queryTimeoutKillsConnection |
false | 5.1.9 |
表 6.7 预处理语句属性
名称 | 默认值 | 自版本 |
---|---|---|
allowNanAndInf |
false | 3.1.5 |
autoClosePStmtStreams |
false | 3.1.12 |
compensateOnDuplicateKeyUpdateCounts |
false | 5.1.7 |
emulateUnsupportedPstmts |
true | 3.1.7 |
generateSimpleParameterMetadata |
false | 5.0.5 |
processEscapeCodesForPrepStmts |
true | 3.1.12 |
useServerPrepStmts |
false | 3.1.0 |
useStreamLengthsInPrepStmts |
true | 3.0.2 |
表 6.8 结果集属性
名称 | 默认值 | 自版本 |
---|---|---|
clobberStreamingResults |
false | 3.0.9 |
emptyStringsConvertToZero |
true | 3.1.8 |
holdResultsOpenOverStatementClose |
false | 3.1.7 |
jdbcCompliantTruncation |
true | 3.1.2 |
maxRows |
-1 | 所有版本 |
netTimeoutForStreamingResults |
600 | 5.1.0 |
padCharsWithSpace |
false | 5.0.6 |
populateInsertRowWithDefaultValues |
false | 5.0.5 |
scrollTolerantForwardOnly |
false | 8.0.24 |
strictUpdates |
true | 3.0.4 |
tinyInt1isBit |
true | 3.0.16 |
transformedBitIsBoolean |
false | 3.1.9 |
表 6.9 元数据属性
名称 | 默认值 | 自版本 |
---|---|---|
getProceduresReturnsFunctions |
true | 5.1.26 |
noAccessToProcedureBodies |
false | 5.0.3 |
nullDatabaseMeansCurrent |
false | 3.1.8 |
useHostsInPrivileges |
true | 3.0.2 |
useInformationSchema |
false | 5.0.0 |
表 6.10 BLOB/CLOB 处理属性
名称 | 默认值 | 自版本 |
---|---|---|
blobSendChunkSize |
1048576 | 3.1.9 |
blobsAreStrings |
false | 5.0.8 |
clobCharacterEncoding |
- | 5.0.0 |
emulateLocators |
false | 3.1.0 |
functionsNeverReturnBlobs |
false | 5.0.8 |
locatorFetchBufferSize |
1048576 | 3.2.1 |
表 6.11 日期时间类型处理属性
名称 | 默认值 | 自版本 |
---|---|---|
connectionTimeZone |
- | 3.0.2 |
forceConnectionTimeZoneToSession |
false | 8.0.23 |
noDatetimeStringSync |
false | 3.1.7 |
preserveInstants |
true | 8.0.23 |
sendFractionalSeconds |
true | 5.1.37 |
sendFractionalSecondsForTime |
true | 8.0.23 |
treatMysqlDatetimeAsTimestamp |
false | 8.2.0 |
treatUtilDateAsTimestamp |
true | 5.0.5 |
yearIsDateType |
true | 3.1.9 |
zeroDateTimeBehavior |
EXCEPTION | 3.1.4 |
表 6.12 高可用性和集群属性
表 6.13 性能扩展属性
名称 | 默认值 | 自版本 |
---|---|---|
callableStmtCacheSize |
100 | 3.1.2 |
metadataCacheSize |
50 | 3.1.1 |
useLocalSessionState |
false | 3.1.7 |
useLocalTransactionState |
false | 5.1.7 |
prepStmtCacheSize |
25 | 3.0.10 |
prepStmtCacheSqlLimit |
256 | 3.0.10 |
queryInfoCacheFactory |
com.mysql.cj.PerConnectionLRUFactory | 5.1.1 |
serverConfigCacheFactory |
com.mysql.cj.util.PerVmServerConfigCacheFactory | 5.1.1 |
alwaysSendSetIsolation |
true | 3.1.7 |
maintainTimeStats |
true | 3.1.9 |
useCursorFetch |
false | 5.0.0 |
cacheCallableStmts |
false | 3.1.2 |
cachePrepStmts |
false | 3.0.10 |
cacheResultSetMetadata |
false | 3.1.1 |
cacheServerConfiguration |
false | 3.1.5 |
defaultFetchSize |
0 | 3.1.9 |
dontCheckOnDuplicateKeyUpdateInSQL |
false | 5.1.32 |
elideSetAutoCommits |
false | 3.1.3 |
enableEscapeProcessing |
true | 6.0.1 |
enableQueryTimeouts |
true | 5.0.6 |
largeRowSizeThreshold |
2048 | 5.1.1 |
readOnlyPropagatesToServer |
true | 5.1.35 |
rewriteBatchedStatements |
false | 3.1.13 |
useReadAheadInput |
true | 3.1.5 |
表 6.14 调试/分析属性
名称 | 默认值 | 自版本 |
---|---|---|
logger |
com.mysql.cj.log.StandardLogger | 3.1.1 |
profilerEventHandler |
com.mysql.cj.log.LoggingProfilerEventHandler | 5.1.6 |
useNanosForElapsedTime |
false | 5.0.7 |
maxQuerySizeToLog |
2048 | 3.1.3 |
maxByteArrayAsHex |
1024 | 8.0.31 |
profileSQL
|
false | 3.1.0 |
logSlowQueries |
false | 3.1.2 |
slowQueryThresholdMillis |
2000 | 3.1.2 |
slowQueryThresholdNanos |
0 | 5.0.7 |
autoSlowLog
|
true | 5.1.4 |
explainSlowQueries |
false | 3.1.2 |
gatherPerfMetrics |
false | 3.1.2 |
reportMetricsIntervalMillis |
30000 | 3.1.2 |
logXaCommands |
false | 5.0.5 |
跟踪协议 |
false | 3.1.2 |
启用数据包调试 |
false | 3.1.3 |
数据包调试缓冲区大小 |
20 | 3.1.3 |
使用使用情况分析器 |
false | 3.1.1 |
结果集大小阈值 |
100 | 5.0.5 |
自动生成测试用例脚本 |
false | 3.1.9 |
开放遥测 |
PREFERRED | 8.4.0 |
表 6.15 异常/警告属性
名称 | 默认值 | 自版本 |
---|---|---|
在异常时转储查询 |
false | 3.1.3 |
异常拦截器 |
- | 5.1.8 |
忽略非事务表 |
false | 3.0.9 |
在死锁异常中包含 InnoDB 状态 |
false | 5.0.7 |
在死锁异常中包含线程转储 |
false | 5.1.15 |
将线程名称包含为语句注释 |
false | 5.1.15 |
仅使用服务器错误消息 |
true | 3.0.15 |
表 6.18 X 协议和 X DevAPI 属性
名称 | 默认值 | 自版本 |
---|---|---|
xdevapi.auth
|
简单 | 8.0.8 |
xdevapi.compression |
PREFERRED | 8.0.20 |
xdevapi.compression-algorithms |
zstd_stream,lz4_message,deflate_stream | 8.0.22 |
xdevapi.compression-extensions |
- | 8.0.22 |
xdevapi.connect-timeout |
10000 | 8.0.13 |
xdevapi.connection-attributes |
- | 8.0.16 |
xdevapi.dns-srv |
false | 8.0.19 |
xdevapi.fallback-to-system-keystore |
true | 8.0.22 |
xdevapi.fallback-to-system-truststore |
true | 8.0.22 |
xdevapi.ssl-keystore |
- | 8.0.22 |
xdevapi.ssl-keystore-password |
- | 8.0.22 |
xdevapi.ssl-keystore-type |
JKS | 8.0.22 |
xdevapi.ssl-mode |
必需 | 8.0.7 |
xdevapi.ssl-truststore |
- | 6.0.6 |
xdevapi.ssl-truststore-password |
- | 6.0.6 |
xdevapi.ssl-truststore-type |
JKS | 6.0.6 |
xdevapi.tls-ciphersuites |
- | 8.0.19 |
xdevapi.tls-versions |
- | 8.0.19 |