MySQL JDBC 接続プロパティ

【PR】当サイトはプロモーションが含まれています。

MySQL JDBC Driver 8.4

namedescriptionrequiredchoices
hostHostname of MySQL Servertrue
portPort number of MySQL Serverfalse
dbnameDatabase name;false
userUsername to authenticate astrue
passwordPassword to use for authenticationtrue
readOnlyPropagatesToServerShould the driver issue appropriate statements to implicitly set the transaction access mode on server side when 'Connection.setReadOnly()' is called? Setting this property to "true" enables InnoDB read-only potential optimizations but also requires an extra roundtrip to set the right transaction state. Even if this property is set to "false", the driver will do its best effort to prevent the execution of database-state-changing queries.falseTRUE,FALSE,YES,NO
detectCustomCollationsShould the driver detect custom charsets/collations installed on server? If this option set to "true" the driver gets actual charsets/collations from the server each time a connection establishes. This could slow down connection initialization significantly.falseTRUE,FALSE,YES,NO
strictUpdatesShould the driver do strict checking, i.e. all primary keys selected, of updatable result sets?falseTRUE,FALSE,YES,NO
traceProtocolShould the network protocol be logged at the TRACE level?falseTRUE,FALSE,YES,NO
populateInsertRowWithDefaultValuesWhen using result sets that are 'CONCUR_UPDATABLE', should the driver pre-populate the insert row with default values from the DDL for the table used in the query so those values are immediately available for 'ResultSet' accessors? This functionality requires a call to the database for metadata each time a result set of this type is created. If disabled, the default values will be populated by the an internal call to 'refreshRow()' which pulls back default values and/or values changed by triggers.falseTRUE,FALSE,YES,NO
explainSlowQueriesIf 'logSlowQueries' is enabled, should the driver automatically issue an 'EXPLAIN' on the server and send the results to the configured logger at a WARN level?falseTRUE,FALSE,YES,NO
passwordThe password to use when authenticating the user.false
emulateLocatorsShould the driver emulate 'java.sql.Blob' with locators? With this feature enabled, the driver will delay loading the actual Blob data until the one of the retrieval methods ('getInputStream()', 'getBytes()', and so forth) on the blob data stream has been accessed. For this to work, you must use a column alias with the value of the column to the actual name of the Blob. The feature also has the following restrictions: The SELECT that created the result set must reference only one table, the table must have a primary key; the SELECT must alias the original blob column name, specified as a string, to an alternate name; the SELECT must cover all columns that make up the primary key.falseTRUE,FALSE,YES,NO
useLocalTransactionStateShould the driver use the in-transaction state provided by the MySQL protocol to determine if a 'commit()' or 'rollback()' should actually be sent to the database?falseTRUE,FALSE,YES,NO
includeThreadNamesAsStatementCommentInclude the name of the current thread as a comment visible in "SHOW PROCESSLIST", or in Innodb deadlock dumps, useful in correlation with "includeInnodbStatusInDeadlockExceptions=true" and "includeThreadDumpInDeadlockExceptions=true".falseTRUE,FALSE,YES,NO
processEscapeCodesForPrepStmtsShould the driver process escape codes in queries that are prepared? Default escape processing behavior in non-prepared statements must be defined with the property 'enableEscapeProcessing'.falseTRUE,FALSE,YES,NO
treatUtilDateAsTimestampShould the driver treat 'java.util.Date' as a TIMESTAMP in 'PreparedStatement.setObject()'?falseTRUE,FALSE,YES,NO
cacheCallableStmtsShould the driver cache the parsing stage of CallableStatements?falseTRUE,FALSE,YES,NO
useCursorFetchShould the driver use cursor-based fetching to retrieve rows? If set to "true" and 'defaultFetchSize' is set to a value higher than zero or 'setFetchSize()' with a value higher than zero is called on a statement, then the cursor-based result set will be used. Please note that 'useServerPrepStmts' is automatically set to "true" in this case because cursor functionality is available only for server-side prepared statements.falseTRUE,FALSE,YES,NO
prepStmtCacheSizeIf prepared statement caching is enabled, how many prepared statements should be cached?false
dontCheckOnDuplicateKeyUpdateInSQLStops checking if every INSERT statement contains the "ON DUPLICATE KEY UPDATE" clause. As a side effect, obtaining the statement's generated keys information will return a list where normally it would not. Also be aware that, in this case, the list of generated keys returned may not be accurate. The effect of this property is canceled if set simultaneously with "rewriteBatchedStatements=true".falseTRUE,FALSE,YES,NO
includeThreadDumpInDeadlockExceptionsInclude current Java thread dump in exception messages when deadlock exceptions are detected?falseTRUE,FALSE,YES,NO
overrideSupportsIntegrityEnhancementFacilityShould the driver return "true" for 'DatabaseMetaData.supportsIntegrityEnhancementFacility()' even if the database doesn't support it to workaround applications that require this method to return "true" to signal support of foreign keys, even though the SQL specification states that this facility contains much more than just foreign key support (one such application being OpenOffice)?falseTRUE,FALSE,YES,NO
clientCertificateKeyStoreUrlURL for the client certificate KeyStore.[CR]If not specified, the property 'fallbackToSystemKeyStore' determines if system-wide key store is used.false
scrollTolerantForwardOnlyShould the driver contradict the JDBC API and tolerate and support backward and absolute cursor movement on result sets of type 'ResultSet.TYPE_FORWARD_ONLY'?[CR]Regardless of this setting, cursor-based and row streaming result sets cannot be navigated in the prohibited directions.falseTRUE,FALSE,YES,NO
blobsAreStringsShould the driver always treat BLOBs as Strings - specifically to work around dubious metadata returned by the server for GROUP BY clauses?falseTRUE,FALSE,YES,NO
authenticationWebAuthnCallbackHandlerFully-qualified class name of a class implementing the interface 'com.mysql.cj.callback.MysqlCallbackHandler'. This class will be used by the WebAuthn authentication plugin to obtain the authenticator data and signature required for the FIDO authentication process. See the documentation of com.mysql.cj.callback.WebAuthnAuthenticationCallback for more details.false
autoClosePStmtStreamsShould the driver automatically call the method 'close()' on streams/readers passed as arguments via 'set*()' methods?falseTRUE,FALSE,YES,NO
logXaCommandsShould the driver log XA commands sent by 'MysqlXaConnection' to the server, at the DEBUG level of logging?falseTRUE,FALSE,YES,NO
treatMysqlDatetimeAsTimestampShould the driver treat the MySQL DATETIME type as TIMESTAMP in 'ResultSet.getObject()'? Enabling this option changes the default MySQL data type to Java type mapping for DATETIME from 'java.time.LocalDateTime' to 'java.sql.Timestamp'. Given the nature of the DATETIME type and its inability to represent instant values, it is not advisable to enable this option unless the driver is used with a framework or API that expects exclusively objects following the default MySQL data types to Java types mapping, which is the case of, for example, 'javax.sql.rowset.CachedRowSet'.falseTRUE,FALSE,YES,NO
tcpKeepAliveIf connecting using TCP/IP, should the driver set 'SO_KEEPALIVE'?falseTRUE,FALSE,YES,NO
resultSetSizeThresholdIf 'useUsageAdvisor' is "true", how many rows should a result set contain before the driver warns that it is suspiciously large?false
jdbcCompliantTruncationShould the driver throw 'java.sql.DataTruncation' exceptions when data is truncated as is required by the JDBC specification? This property has no effect if the server sql-mode includes 'STRICT_TRANS_TABLES'.falseTRUE,FALSE,YES,NO
connectTimeoutTimeout for socket connect (in milliseconds), with 0 being no timeout.false
selfDestructOnPingMaxOperationsIf set to a non-zero value, the driver will report close the connection and report failure when 'com.mysql.cj.jdbc.JdbcConnection.ping()' or 'java.sql.Connection.isValid(int)' is called if the connection's count of commands sent to the server exceeds this value.false
ldapServerHostnameWhen using MySQL's LDAP pluggable authentication with GSSAPI/Kerberos authentication method, allows setting the LDAP service principal hostname as configured in the Kerberos KDC. If this property is not set, Connector/J takes the system property 'java.security.krb5.kdc' and extracts the hostname (short name) from its value and uses it. If neither is set, the connection fails with an exception.false
noDatetimeStringSyncDon't ensure that 'ResultSet.getTimestamp().toString().equals(ResultSet.getString())'.falseTRUE,FALSE,YES,NO
useOnlyServerErrorMessagesDon't prepend standard 'SQLState' error messages to error messages returned by the server.falseTRUE,FALSE,YES,NO
autoReconnectShould the driver try to re-establish stale and/or dead connections? If enabled the driver will throw an exception for queries issued on a stale or dead connection, which belong to the current transaction, but will attempt reconnect before the next query issued on the connection in a new transaction. The use of this feature is not recommended, because it has side effects related to session state and data consistency when applications don't handle SQLExceptions properly, and is only designed to be used when you are unable to configure your application to handle SQLExceptions resulting from dead and stale connections properly. Alternatively, as a last option, investigate setting the MySQL server variable 'wait_timeout' to a high value, rather than the default of 8 hours.falseTRUE,FALSE,YES,NO
autoReconnectForPoolsUse a reconnection strategy appropriate for connection pools?falseTRUE,FALSE,YES,NO
ociConfigProfileThe profile in the OCI configuration file specified in 'ociConfigFile', from where the configuration to use in the 'authentication_oci_client' authentication plugin is to be read.false
clientCertificateKeyStoreTypeKey store type for client certificates.[CR]Null or empty means use the default, which is "JKS". Standard key store types supported by the JVM are "JKS" and "PKCS12", your environment may have more available depending on what security providers are installed and available to the JVM.false
clientCertificateKeyStorePasswordPassword for the client certificates key store.false
queryInterceptorsA comma-delimited list of classes that implement 'com.mysql.cj.interceptors.QueryInterceptor' that intercept query executions and are able influence the results. Query iterceptors are chainable: the results returned by the current interceptor will be passed on to the next in the chain, from left-to-right in the order specified in this property.false
exceptionInterceptorsComma-delimited list of classes that implement the interface 'com.mysql.cj.exceptions.ExceptionInterceptor'. These classes will be instantiated one per 'Connection' instance, and all 'SQLException' exceptions thrown by the driver will be allowed to be intercepted by these interceptors, in a chained fashion, with the first class listed as the head of the chain.false
connectionAttributesA comma-delimited list of user-defined "key:value" pairs, in addition to standard MySQL-defined "key:value" pairs, to be passed to MySQL Server for display as connection attributes in the 'PERFORMANCE_SCHEMA' tables 'session_account_connect_attrs' and 'session_connect_attrs'. Example usage: "connectionAttributes=key1:value1,key2:value2" This functionality is available for use with MySQL Server version 5.6 or later only. Earlier versions of MySQL Server do not support connection attributes, causing this configuration option to be ignored. Setting "connectionAttributes=none" will cause connection attribute processing to be bypassed for situations where Connection creation/initialization speed is critical.false
slowQueryThresholdMillisIf 'logSlowQueries' is enabled, how long, in milliseconds, should a query take before it is logged as slow?false
maxQuerySizeToLogControls the maximum length of the part of a query that will get logged when profiling or tracing.false
loggerThe name of a class that implements 'com.mysql.cj.log.Log' that will be used to log messages to. (default is 'com.mysql.cj.log.StandardLogger', which logs to STDERR).false
useNanosForElapsedTimeFor profiling/debugging functionality that measures elapsed time, should the driver try to use nanoseconds resolution?falseTRUE,FALSE,YES,NO
includeInnodbStatusInDeadlockExceptionsInclude the output of "SHOW ENGINE INNODB STATUS" in exception messages when deadlock exceptions are detected?falseTRUE,FALSE,YES,NO
sendFractionalSecondsForTimeIf set to "false", the fractional seconds of 'java.sql.Time' will be ignored as required by JDBC specification. If set to "true", its value is rendered with fractional seconds allowing to store milliseconds into MySQL TIME column. This option applies only to prepared statements, callable statements or updatable result sets. It has no effect if "sendFractionalSeconds=false".falseTRUE,FALSE,YES,NO
compensateOnDuplicateKeyUpdateCountsShould the driver compensate for the update counts of "INSERT ... ON DUPLICATE KEY UPDATE" statements (2 = 1, 0 = 1) when using prepared statements?falseTRUE,FALSE,YES,NO
paranoidTake measures to prevent exposure sensitive information in error messages and clear data structures holding sensitive data when possible?falseTRUE,FALSE,YES,NO
functionsNeverReturnBlobsShould the driver always treat data from functions returning BLOBs as Strings - specifically to work around dubious metadata returned by the server for "GROUP BY" clauses?falseTRUE,FALSE,YES,NO
ignoreNonTxTablesIgnore non-transactional table warning for rollback?falseTRUE,FALSE,YES,NO
loadBalanceConnectionGroupLogical group of load-balanced connections within a class loader, used to manage different groups independently. If not specified, live management of load-balanced connections is disabled.false
dumpQueriesOnExceptionShould the driver dump the contents of the query sent to the server in the message for SQLExceptions?falseTRUE,FALSE,YES,NO
socketTimeoutTimeout, specified in milliseconds, on network socket operations. Value "0" means no timeout.false
useServerPrepStmtsUse server-side prepared statements if the server supports them? The server may limit the number of prepared statements with 'max_prepared_stmt_count' or disable them altogether. In case of not being possible to prepare new server-side prepared statements, it depends on the value of 'emulateUnsupportedPstmts' to whether return an error or fall back to client-side emulated prepared statements.falseTRUE,FALSE,YES,NO
socksProxyRemoteDnsWhen using a SOCKS proxy, whether the DNS lookup for the database host should be performed locally or through the SOCKS proxy.falseTRUE,FALSE,YES,NO
yearIsDateTypeShould the JDBC driver treat the MySQL type YEAR as a 'java.sql.Date', or as a SHORT?falseTRUE,FALSE,YES,NO
netTimeoutForStreamingResultsWhat value should the driver automatically set the server setting 'net_write_timeout' to when the streaming result sets feature is in use? Value has unit of seconds, the value "0" means the driver will not try and adjust this value.false
callableStmtCacheSizeIf 'cacheCallableStmts' is enabled, how many callable statements should be cached?false
loadBalanceBlocklistTimeoutTime in milliseconds between checks of servers which are unavailable, by controlling how long a server lives in the global blocklist.false
createDatabaseIfNotExistCreates the database given in the URL if it doesn't yet exist. Assumes the configured user has permissions to create databases.falseTRUE,FALSE,YES,NO
cacheServerConfigurationShould the driver cache the results of "SHOW VARIABLES" and "SHOW COLLATION" on a per-URL basis?falseTRUE,FALSE,YES,NO
allowNanAndInfShould the driver allow NaN or +/- INF values in 'PreparedStatement.setDouble()'?falseTRUE,FALSE,YES,NO
clobCharacterEncodingThe character encoding to use for sending and retrieving TEXT, MEDIUMTEXT and LONGTEXT values instead of the configured connection 'characterEncoding'.false
prepStmtCacheSqlLimitIf prepared statement caching is enabled, what's the largest SQL the driver will cache the parsing for?false
localSocketAddressHostname or IP address given to explicitly configure the interface that the driver will bind the client side of the TCP/IP connection to when connecting.false
useCompressionUse zlib compression when communicating with the server?falseTRUE,FALSE,YES,NO
KeyManagerFactoryProviderThe name of the a Java Security Provider that provides a 'javax.net.ssl.KeyManagerFactory' implementation. If none is specified then the default one is used.false
tinyInt1isBitSince the MySQL server silently converts BIT to TINYINT(1) when creating tables, should the driver treat the datatype TINYINT(1) as the BIT type?falseTRUE,FALSE,YES,NO
queriesBeforeRetrySourceWhen using multi-host failover, the number of queries to issue before falling back to the primary host when failed over. Whichever condition is met first, 'queriesBeforeRetrySource' or 'secondsBeforeRetrySource' will cause an attempt to be made to reconnect to the primary host. Setting both properties to "0" disables the automatic fall back to the primary host at transaction boundaries.false
authenticationPluginsComma-delimited list of classes that implement the interface 'com.mysql.cj.protocol.AuthenticationPlugin'. These plugins will be loaded at connection initialization and can be used together with their sever-side counterparts for authenticating users, unless they are disabled in the connection property 'disabledAuthenticationPlugins'.false
trackSessionStateReceive server session state changes on query results. These changes are accessible via 'MysqlConnection.getServerSessionStateController()'.falseTRUE,FALSE,YES,NO
resourceIdA globally unique name that identifies the resource that this data source or connection is connected to, used for 'XAResource.isSameRM()' when the driver can't determine this value based on hostnames used in the URL.false
largeRowSizeThresholdWhat size result set row should the JDBC driver consider large, and thus use a more memory-efficient way of representing the row internally?false
useColumnNamesInFindColumnPrior to JDBC-4.0, the JDBC specification had a bug related to what could be given as a column name to result set methods like 'findColumn()', or getters that took a String property. JDBC-4.0 clarified "column name" to mean the label, as given in an "AS" clause and returned by 'ResultSetMetaData.getColumnLabel()', and if no "AS" clause is specified, the column name. Setting this property to "true" will result in a behavior that is congruent to JDBC-3.0 and earlier versions of the JDBC specification, but which could have unexpected results. This property is preferred over 'useOldAliasMetadataBehavior' unless in need of the specific behavior that it provides with respect to 'ResultSetMetadata'.falseTRUE,FALSE,YES,NO
userThe user to connect as. If none is specified, it is authentication plugin dependent what user name is used. Built-in authentication plugins default to the session login user name.false
clientInfoProviderThe name of a class that implements the 'com.mysql.cj.jdbc.ClientInfoProvider' interface in order to support JDBC-4.0's 'Connection.get/setClientInfo()' methods.false
verifyServerCertificateDEPRECATED: See 'sslMode' property description for details.[CR]For 8.0.12 and earlier: If 'useSSL' is set to "true", should the driver verify the server's certificate? When using this feature, the key store parameters should be specified by the 'clientCertificateKeyStore*' properties, rather than system properties. Default is "false" when connecting to MySQL 5.5.45+, 5.6.26+ or 5.7.6+ and 'useSSL' was not explicitly set to "true". Otherwise default is "true".[CR] For 8.0.13 and later: Default is "false".falseTRUE,FALSE,YES,NO
useHostsInPrivilegesAdd '@hostname' to users in 'DatabaseMetaData.getColumn/TablePrivileges()'.falseTRUE,FALSE,YES,NO
useConfigsLoad the comma-delimited list of configuration properties for specifying combinations of options for particular scenarios. These properties are loaded before parsing the URL or applying user-specified properties. Allowed values are "3-0-Compat", "clusterBase", "coldFusion", "fullDebug", "maxPerformance", "maxPerformance-8-0" and "solarisMaxPerformance", and they correspond to properties files shipped within the Connector/J jar file, under "com/mysql/cj/configurations".false
cacheDefaultTimeZoneCaches client's default time zone. This results in better performance when dealing with time zone conversions in Date and Time data types, however it won't be aware of time zone changes if they happen at runtime.falseTRUE,FALSE,YES,NO
nullDatabaseMeansCurrentIn 'DatabaseMetaData' methods that take a 'catalog' or 'schema' parameter, does the value "null" mean to use the current database? See also the property 'databaseTerm'.falseTRUE,FALSE,YES,NO
failOverReadOnlyWhen failing over in 'autoReconnect' mode, should the connection be set to 'read-only'?falseTRUE,FALSE,YES,NO
generateSimpleParameterMetadataShould the driver generate simplified parameter metadata for prepared statements when no metadata is available either because the server couldn't support preparing the statement, or server-side prepared statements are disabled?falseTRUE,FALSE,YES,NO
defaultAuthenticationPluginThe default authentication plugin client-side protocol name or a fully qualified name of a class that implements the interface 'com.mysql.cj.protocol.AuthenticationPlugin'. The specified authentication plugin must be either one of the built-in authentication plugins or one of the plugins listed in the property 'authenticationPlugins'. Additionally, the default authentication plugin cannot be disabled with the property 'disabledAuthenticationPlugins'. Neither an empty nor unknown plugin name or class can be set for this property.[CR]By default, Connector/J honors the server-side default authentication plugin, which is known after receiving the initial handshake packet, and falls back to this property's default value if that plugin cannot be used. However, when a value is explicitly provided to this property, Connector/J then overrides the server-side default authentication plugin and always tries first the plugin specified with this property.false
continueBatchOnErrorShould the driver continue processing batch commands if one statement fails. The JDBC spec allows either way.falseTRUE,FALSE,YES,NO
tcpSndBufIf connecting using TCP/IP, should the driver set 'SO_SND_BUF' to the given value? The default value of "0", means use the platform default value for this property.false
maxReconnectsMaximum number of reconnects to attempt if 'autoReconnect' is "true".false
serverAffinityOrderA comma separated list containing the host/port pairs that are to be used in load-balancing "serverAffinity" strategy. Only the sub-set of the hosts enumerated in the main hosts section in this URL will be used and they must be identical in case and type, i.e., can't use an IP address in one place and the corresponding host name in the other.false
blobSendChunkSizeChunk size to use when sending BLOB/CLOBs via server-prepared statements. Note that this value cannot exceed the value of 'maxAllowedPacket' and, if that is the case, then this value will be corrected automatically.false
emulateUnsupportedPstmtsShould the driver detect prepared statements that are not supported by the server, and replace them with client-side emulated versions?falseTRUE,FALSE,YES,NO
rollbackOnPooledCloseShould the driver issue a 'rollback()' when the logical connection in a pool is closed?falseTRUE,FALSE,YES,NO
trustCertificateKeyStorePasswordPassword for the trusted root certificates key store.false
autoGenerateTestcaseScriptShould the driver dump the SQL it is executing, including server-side prepared statements to STDERR?falseTRUE,FALSE,YES,NO
serverRSAPublicKeyFileFile path to the server RSA public key file for 'sha256_password' authentication. If not specified, the public key will be retrieved from the server.false
connectionTimeZoneConfigures the connection time zone which is used by Connector/J if conversion between the JVM default and a target time zone is needed when preserving instant temporal values.[CR]Accepts a geographic time zone name or a time zone offset from Greenwich/UTC, using a syntax 'java.time.ZoneId' is able to parse, or one of the two logical values "LOCAL" and "SERVER". Default is "LOCAL". If set to an explicit time zone then it must be one that either the JVM or both the JVM and MySQL support. If set to "LOCAL" then the driver assumes that the connection time zone is the same as the JVM default time zone. If set to "SERVER" then the driver attempts to detect the session time zone from the values configured on the MySQL server session variables 'time_zone' or 'system_time_zone'. The time zone detection and subsequent mapping to a Java time zone may fail due to several reasons, mostly because of time zone abbreviations being used, in which case an explicit time zone must be set or a different time zone must be configured on the server.[CR]This option itself does not set MySQL server session variable 'time_zone' to the given value. To do that the 'forceConnectionTimeZoneToSession' connection option must be set to "true".[CR]Please note that setting a value to 'connectionTimeZone' in conjunction with "forceConnectionTimeZoneToSession=false" and "preserveInstants=false" has no effect since, in this case, neither this option is used to change the session time zone nor used for time zone conversions of time-based data.[CR]Former connection option 'serverTimezone' is still valid as an alias of this one but may be deprecated in the future.[CR]See also 'forceConnectionTimeZoneToSession' and 'preserveInstants' for more details.false
allowMultiQueriesAllow the use of ";" to delimit multiple queries during one statement. This option does not affect the 'addBatch()' and 'executeBatch()' methods, which rely on 'rewriteBatchStatements' instead.falseTRUE,FALSE,YES,NO
connectionCollationInstructs the server to set session system variable 'collation_connection' to the specified collation name and set 'character_set_client' and 'character_set_connection' to a corresponding character set. This property overrides the value of 'characterEncoding' with the default character set this collation belongs to, if and only if 'characterEncoding' is not configured or is configured with a character set that is incompatible with the collation. That means 'connectionCollation' may not always correct a mismatch of character sets. For example, if 'connectionCollation' is set to "latin1_swedish_ci", the corresponding character set is "latin1" for MySQL, which maps it to the Java character set "windows-1252"; so if 'characterEncoding' is not set,"windows-1252" is the character set that will be used; but if 'characterEncoding' has been set to, e.g. "ISO-8859-1", that is compatible with "latin1_swedish_ci", so the character encoding setting is left unchanged; and if client is actually using "windows-1252" (which is similar but different from "ISO-8859-1"), errors would occur for some characters. If neither this property nor the property 'characterEncoding' is set:[CR]For Connector/J 8.0.25 and earlier, the driver will try to use the server's default character set;[CR]For Connector/J 8.0.26 and later, the driver will use utf8mb4's default collation.false
loadBalanceAutoCommitStatementRegexWhen load-balancing is enabled for auto-commit statements (via 'loadBalanceAutoCommitStatementThreshold'), the statement counter will only increment when the SQL matches the regular expression. By default, every statement issued matches.false
alwaysSendSetIsolationShould the driver always communicate with the database when 'Connection.setTransactionIsolation()' is called? If set to "false", the driver will only communicate with the database when the requested transaction isolation is different than the whichever is newer, the last value that was set via 'Connection.setTransactionIsolation()', or the value that was read from the server when the connection was established. Note that "useLocalSessionState=true" will force the same behavior as "alwaysSendSetIsolation=false", regardless of how 'alwaysSendSetIsolation' is set.falseTRUE,FALSE,YES,NO
tlsCiphersuitesWhen establishing secure connections, overrides the cipher suites enabled for use on the underlying SSL sockets. This may be required when using external JSSE providers or to specify cipher suites compatible with both MySQL server and used JVM. Prior to version 8.0.28, this property was named 'enabledSSLCipherSuites', which remains as an alias.false
enableEscapeProcessingSets the default escape processing behavior for Statement objects. The method 'Statement.setEscapeProcessing()' can be used to specify the escape processing behavior for an individual statement object. Default escape processing behavior in prepared statements must be defined with the property 'processEscapeCodesForPrepStmts'.falseTRUE,FALSE,YES,NO
loadBalanceSQLStateFailoverComma-delimited list of 'SQLState' codes used by the default load-balanced exception checker to determine whether a given 'SQLException' should trigger a failover. The 'SQLState' of a given 'SQLException' is evaluated to determine whether it begins with any of the values specified in the comma-delimited list.false
queryInfoCacheFactoryName of a class implementing 'com.mysql.cj.CacheAdapterFactory', which will be used to create caches for the parsed representation of prepared statements. Prior to version 8.0.29, this property was named 'parseInfoCacheFactory', which remains as an alias.false
ociConfigFileThe location of the OCI configuration file as required by the OCI SDK for Java. Default value is "~/.oci/config" for Unix-like systems and "%HOMEDRIVE%%HOMEPATH%.oci\config" for Windows.false
pinGlobalTxToPhysicalConnectionWhen using XA connections, should the driver ensure that operations on a given XID are always routed to the same physical connection? This allows the 'XAConnection' to support "XA START ... JOIN" after "XA END" has been called.falseTRUE,FALSE,YES,NO
enableQueryTimeoutsWhen enabled, query timeouts set via 'Statement.setQueryTimeout()' use a shared 'java.util.Timer' instance for scheduling. Even if the timeout doesn't expire before the query is processed, there will be memory used by the 'TimerTask' for the given timeout which won't be reclaimed until the time the timeout would have expired if it hadn't been cancelled by the driver. High-load environments might want to consider disabling this functionality.falseTRUE,FALSE,YES,NO
packetDebugBufferSizeThe maximum number of packets to retain when 'enablePacketDebug' is "true".false
useStreamLengthsInPrepStmtsHonor stream length parameter in 'PreparedStatement/ResultSet.set*Stream()' method calls?falseTRUE,FALSE,YES,NO
sslModeBy default, network connections are SSL encrypted; this property permits secure connections to be turned off, or a different levels of security to be chosen. The following values are allowed: "DISABLED" - Establish unencrypted connections; "PREFERRED" - Establish encrypted connections if the server enabled them, otherwise fall back to unencrypted connections; "REQUIRED" - Establish secure connections if the server enabled them, fail otherwise; "VERIFY_CA" - Like "REQUIRED" but additionally verify the server TLS certificate against the configured Certificate Authority (CA) certificates; "VERIFY_IDENTITY" - Like "VERIFY_CA", but additionally verify that the server certificate matches the host to which the connection is attempted.[CR] This property replaced the deprecated legacy properties 'useSSL', 'requireSSL', and 'verifyServerCertificate', which are still accepted but translated into a value for 'sslMode' if 'sslMode' is not explicitly set: "useSSL=false" is translated to "sslMode=DISABLED"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} is translated to "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} is translated to "sslMode=REQUIRED"; {"useSSL=true", "verifyServerCertificate=true"} is translated to "sslMode=VERIFY_CA". There is no equivalent legacy settings for "sslMode=VERIFY_IDENTITY". Note that, for all server versions, the default setting of 'sslMode' is "PREFERRED", and it is equivalent to the legacy settings of "useSSL=true", "requireSSL=false", and "verifyServerCertificate=false", which are different from their default settings for Connector/J 8.0.12 and earlier in some situations. Applications that continue to use the legacy properties and rely on their old default settings should be reviewed.[CR]The legacy properties are ignored if 'sslMode' is set explicitly. If none of 'sslMode' or 'useSSL' is set explicitly, the default setting of "sslMode=PREFERRED" applies.falseDISABLED,PREFERRED,REQUIRED,VERIFY_CA,VERIFY_IDENTITY
allowUrlInLocalInfileShould the driver allow URLs in "LOAD DATA LOCAL INFILE ..." statements?falseTRUE,FALSE,YES,NO
sendFractionalSecondsIf set to "false", the fractional seconds will always be truncated before sending any data to the server. This option applies only to prepared statements, callable statements or updatable result sets.falseTRUE,FALSE,YES,NO
readFromSourceWhenNoReplicasReplication-aware connections distribute load by using the source hosts when in read/write state and by using the replica hosts when in read-only state. If, when setting the connection to read-only state, none of the replica hosts are available, an 'SQLException' is thrown back. Setting this property to "true" allows to fail over to the source hosts, while setting the connection state to read-only, when no replica hosts are available at switch instant.falseTRUE,FALSE,YES,NO
allowLoadLocalInfileShould the driver allow use of "LOAD DATA LOCAL INFILE ..."?[CR]Setting to "true" overrides whatever path is set in 'allowLoadLocalInfileInPath', allowing uploading files from any location.falseTRUE,FALSE,YES,NO
socksProxyHostName or IP address of a SOCKS host to connect through.false
dontTrackOpenResourcesThe JDBC specification requires the driver to automatically track and close resources, however if your application doesn't do a good job of explicitly calling 'close()' on statements or result sets this can cause memory leakage. Setting this property to "true" relaxes this constraint, and can be more memory efficient for some applications. Also the automatic closing of the statement and current result set in 'Statement.closeOnCompletion()' and 'Statement.getMoreResults([Statement.CLOSE_CURRENT_RESULT | Statement.CLOSE_ALL_RESULTS])', respectively, ceases to happen. This property automatically sets "holdResultsOpenOverStatementClose=true".falseTRUE,FALSE,YES,NO
loadBalancePingTimeoutTime in milliseconds to wait for ping responses from each of load-balanced physical connections when using a load-balanced connection.false
useAffectedRowsDon't set the 'CLIENT_FOUND_ROWS' flag when connecting to the server. Note that this is not JDBC-compliant and it will break most applications that rely on "found" rows vs. "affected rows" for DML statements, but does cause correct update counts from "INSERT ... ON DUPLICATE KEY UPDATE" statements to be returned by the server.falseTRUE,FALSE,YES,NO
ha.enableJMXEnables JMX-based management of load-balanced connection groups, including live addition/removal of hosts from load-balancing pool. Enables JMX-based management of replication connection groups, including live replica promotion, addition of new replicas and removal of source or replica hosts from load-balanced source and replica connection pools.falseTRUE,FALSE,YES,NO
fallbackToSystemTrustStoreWhether the absence of setting a value for 'trustCertificateKeyStoreUrl' falls back to using the system-wide default trust store or one defined through the system properties 'javax.net.ssl.trustStore*'.falseTRUE,FALSE,YES,NO
defaultFetchSizeThe driver will call 'setFetchSize(n)' with this value on all newly-created statements.false
disabledAuthenticationPluginsComma-delimited list of authentication plugins client-side protocol names or classes implementing the interface 'com.mysql.cj.protocol.AuthenticationPlugin'. The authentication plugins listed will not be used for authenticating users and, if anyone of them is required during the authentication exchange, the connection fails. The default authentication plugin specified in the property 'defaultAuthenticationPlugin' cannot be disabled.false
propertiesTransformAn implementation of 'com.mysql.cj.conf.ConnectionPropertiesTransform' that the driver will use to modify connection string properties passed to the driver before attempting a connection.false
forceConnectionTimeZoneToSessionIf enabled, sets the time zone value determined by 'connectionTimeZone' connection property to the current server session 'time_zone' variable. If the time zone value is given as a geographical time zone, then Connector/J sets this value as-is in the server session, in which case the time zone system tables must be populated beforehand (consult the MySQL Server documentation for further details); but, if the value is given as an offset from Greenwich/UTC in any of the supported syntaxes, then the server session time zone is set as a numeric offset from UTC.[CR]With that no intermediate conversion between JVM default time zone and connection time zone is needed to store correct milliseconds value of instant Java objects such as 'java.sql.Timestamp' or 'java.time.OffsetDateTime' when stored in TIMESTAMP columns.[CR]Note that it also affects the result of MySQL functions such as 'NOW()', 'CURTIME()' or 'CURDATE()'.[CR]This option has no effect if used in conjunction with "connectionTimeZone=SERVER" since, in this case, the session is already set with the required time zone.[CR]See also 'connectionTimeZone' and 'preserveInstants' for more details.falseTRUE,FALSE,YES,NO
loadBalanceSQLExceptionSubclassFailoverComma-delimited list of classes/interfaces used by default load-balanced exception checker to determine whether a given 'SQLException' should trigger a failover. The comparison is done using 'Class.isInstance(SQLException)' using the 'SQLException' thrown.false
ultraDevHackCreate prepared statements for 'prepareCall()' when required, because UltraDev is broken and issues a 'prepareCall()' for all statements?falseTRUE,FALSE,YES,NO
characterEncodingInstructs the server to set session system variables 'character_set_client' and 'character_set_connection' to the default character set supported by MySQL for the specified Java character encoding and set 'collation_connection' to the default collation for this character set. If neither this property nor the property 'connectionCollation' is set:[CR]For Connector/J 8.0.25 and earlier, the driver will try to use the server's default character set;[CR]For Connector/J 8.0.26 and later, the driver will use "utf8mb4".false
autoSlowLogInstead of using 'slowQueryThreshold*' to determine if a query is slow enough to be logged, maintain statistics that allow the driver to determine queries that are outside the 99th percentile?falseTRUE,FALSE,YES,NO
maxAllowedPacketMaximum allowed packet size to send to server. If not set, the value of system variable 'max_allowed_packet' will be used to initialize this upon connecting. This value will not take effect if set larger than the value of 'max_allowed_packet'. Also, due to an internal dependency with the property 'blobSendChunkSize', this setting has a minimum value of "8203" if 'useServerPrepStmts' is set to "true".false
padCharsWithSpaceIf a result set column has the CHAR type and the value does not fill the amount of characters specified in the DDL for the column, should the driver pad the remaining characters with space (for ANSI compliance)?falseTRUE,FALSE,YES,NO
useUsageAdvisorShould the driver issue usage warnings advising proper and efficient usage of JDBC and MySQL Connector/J to the 'profilerEventHandler'?falseTRUE,FALSE,YES,NO
customCharsetMappingA comma-delimited list of custom "charset:java encoding" pairs.[CR]In case the MySQL server is configured with custom character sets and "detectCustomCollations=true", Connector/J needs to know which Java character encoding to use for the data represented by these character sets. Example usage: "customCharsetMapping=charset1:UTF-8,charset2:Cp1252".false
password2The password to use in the second phase of a Multi-Factor Authentication workflow.false
loadBalanceAutoCommitStatementThresholdWhen auto-commit is enabled, the number of statements which should be executed before triggering load-balancing to rebalance. Default value of "0" causes load-balanced connections to only rebalance when exceptions are encountered, or auto-commit is disabled and transactions are explicitly committed or rolled back.false
noAccessToProcedureBodiesWhen determining procedure parameter types for 'CallableStatement', and the connected user can't access procedure bodies through "SHOW CREATE PROCEDURE" or SELECT on mysql.proc should the driver instead create basic metadata, with all parameters reported as INOUT VARCHARs, instead of throwing an exception?falseTRUE,FALSE,YES,NO
reportMetricsIntervalMillisIf 'gatherPerfMetrics' is enabled, how often should they be logged (in milliseconds)?false
elideSetAutoCommitsShould the driver only issue 'set autocommit=n' queries when the server's state doesn't match the requested state by 'Connection.setAutoCommit(boolean)'?falseTRUE,FALSE,YES,NO
ha.loadBalanceStrategyIf using a load-balanced connection to connect to SQL servers in a MySQL Cluster configuration (by using the URL prefix "jdbc:mysql:loadbalance://"), which load balancing algorithm should the driver use: (1) "random" - the driver will pick a random host for each request. This tends to work better than round-robin, as the randomness will somewhat account for spreading loads where requests vary in response time, while round-robin can sometimes lead to overloaded nodes if there are variations in response times across the workload. (2) "bestResponseTime" - the driver will route the request to the host that had the best response time for the previous transaction. (3) "serverAffinity" - the driver initially attempts to enforce server affinity while still respecting and benefiting from the fault tolerance aspects of the load-balancing implementation. The server affinity ordered list is provided using the property 'serverAffinityOrder'. If none of the servers listed in the affinity list is responsive, the driver then refers to the "random" strategy to proceed with choosing the next server.false
loadBalanceHostRemovalGracePeriodSets the grace period to wait for a host being removed from a load-balanced connection, to be released when it is currently the active host.false
transformedBitIsBooleanIf the driver converts TINYINT(1) to a different type, should it use BOOLEAN instead of BIT?falseTRUE,FALSE,YES,NO
clobberStreamingResultsThis will cause a streaming result set to be automatically closed, and any outstanding data still streaming from the server to be discarded if another query is executed before all the data has been read from the server.falseTRUE,FALSE,YES,NO
characterSetResultsInstructs the server to return the data encoded with the default character set for the specified Java encoding. If not set or set to "null", the server will send data in its original character set and the driver will decode it according to the result metadata.false
replicationConnectionGroupLogical group of replication connections within a class loader, used to manage different groups independently. If not specified, live management of replication connections is disabled.false
socketFactoryThe name of the class that the driver should use for creating socket connections to the server. This class must implement the interface 'com.mysql.cj.protocol.SocketFactory' and have a public no-args constructor.false
profileSQLTrace queries and their execution/fetch times to the configured 'profilerEventHandler'.falseTRUE,FALSE,YES,NO
enablePacketDebugWhen enabled, a ring-buffer of 'packetDebugBufferSize' packets will be kept, and dumped when exceptions are thrown in key areas in the driver's code.falseTRUE,FALSE,YES,NO
connectionLifecycleInterceptorsA comma-delimited list of classes that implement 'com.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor' that should be notified of connection lifecycle events (creation, destruction, commit, rollback, setting the current database and changing the autocommit mode) and potentially alter the execution of these commands. 'ConnectionLifecycleInterceptors' are stackable, more than one interceptor may be specified via the configuration property as a comma-delimited list, with the interceptors executed in order from left to right.false
keyStoreProviderThe name of the a Java Security Provider that provides a 'java.security.KeyStore' implementation that supports the key stores types specified with 'clientCertificateKeyStoreType' and 'trustCertificateKeyStoreType'. If none is specified then the default one is used.false
tcpNoDelayIf connecting using TCP/IP, should the driver set 'SO_TCP_NODELAY', disabling the Nagle Algorithm?falseTRUE,FALSE,YES,NO
tcpTrafficClassIf connecting using TCP/IP, should the driver set traffic class or type-of-service fields? See the documentation for 'java.net.Socket.setTrafficClass()' for more information.false
selfDestructOnPingSecondsLifetimeIf set to a non-zero value, the driver will close the connection and report failure when 'com.mysql.cj.jdbc.JdbcConnection.ping()' or 'java.sql.Connection.isValid(int)' is called if the connection's lifetime exceeds this value, specified in milliseconds.false
retriesAllDownWhen using load balancing or failover, the number of times the driver should cycle through available hosts, attempting to connect. Between cycles, the driver will pause for 250 ms if no servers are available.false
interactiveClientSet the 'CLIENT_INTERACTIVE' flag, which tells MySQL to timeout connections based on 'interactive_timeout' instead of 'wait_timeout'.falseTRUE,FALSE,YES,NO
slowQueryThresholdNanosIf 'logSlowQueries' is enabled, 'useNanosForElapsedTime' is set to "true", and this property is set to a non-zero value, the driver will use this threshold, in nanosecond units, to determine if a query was slow.false
holdResultsOpenOverStatementCloseShould the driver close result sets on 'Statement.close()' as required by the JDBC specification?falseTRUE,FALSE,YES,NO
maxRowsThe maximum number of rows to return. The default "0" means return all rows.false
maintainTimeStatsShould the driver maintain various internal timers to enable idle time calculations as well as more verbose error messages when the connection to the server fails? Setting this property to false removes at least two calls to 'System.getCurrentTimeMillis()' per query.falseTRUE,FALSE,YES,NO
pedanticFollow the JDBC specification to the letter.falseTRUE,FALSE,YES,NO
fallbackToSystemKeyStoreWhether the absence of setting a value for 'clientCertificateKeyStoreUrl' falls back to using the system-wide key store defined through the system properties 'javax.net.ssl.keyStore*'.falseTRUE,FALSE,YES,NO
tlsVersionsList of TLS protocols to allow when establishing secure connections. Overrides the TLS protocols enabled in the underlying SSL sockets. This can be used to restrict connections to specific TLS versions and, by doing that, avoid TLS negotiation fallback. Allowed and default values are "TLSv1.2" and "TLSv1.3". Prior to version 8.0.28, this property was named 'enabledTLSProtocols', which remains as an alias.false
preserveInstantsIf enabled, Connector/J does its best to preserve the instant point on the time-line for Java instant-based objects such as 'java.sql.Timestamp' or 'java.time.OffsetDateTime' instead of their original visual form. Otherwise, the driver always uses the JVM default time zone for rendering the values it sends to the server and for constructing the Java objects from the fetched data.[CR]MySQL uses implied time zone conversion for TIMESTAMP values: they are converted from the session time zone to UTC for storage, and back from UTC to the session time zone for retrieval. So, to store the correct correct UTC value internally, the driver converts the value from the original time zone to the session time zone before sending to the server. On retrieval, Connector/J converts the received value from the session time zone to the JVM default one.[CR]When storing, the conversion is performed only if the target 'SQLType', either the explicit one or the default one, is TIMESTAMP. When retrieving, the conversion is performed only if the source column has the TIMESTAMP, DATETIME or character type and the target class is an instant-based one, like 'java.sql.Timestamp' or 'java.time.OffsetDateTime'.[CR]Note that this option has no effect if used in conjunction with "connectionTimeZone=LOCAL" since, in this case, the source and target time zones are the same. Though, in this case, it's still possible to store a correct instant value if set together with "forceConnectionTimeZoneToSession=true".[CR]See also 'connectionTimeZone' and 'forceConnectionTimeZoneToSession' for more details.falseTRUE,FALSE,YES,NO
serverConfigCacheFactoryName of a class implementing 'com.mysql.cj.CacheAdapterFactory', which will be used to create caches for MySQL server configuration values.false
allowSourceDownConnectionsBy default, a replication-aware connection will fail to connect when configured source hosts are all unavailable at initial connection. Setting this property to "true" allows to establish the initial connection, by failing over to the replica servers, in read-only state. It won't prevent subsequent failures when switching back to the source hosts i.e. by setting the replication connection to read/write state.falseTRUE,FALSE,YES,NO
password3The password to use in the third phase of a Multi-Factor Authentication workflow.false
getProceduresReturnsFunctionsPre-JDBC4 'DatabaseMetaData' API has only the 'getProcedures()' and 'getProcedureColumns()' methods, so they return metadata info for both stored procedures and functions. JDBC4 was extended with the 'getFunctions()' and 'getFunctionColumns()' methods and the expected behaviours of previous methods are not well defined. For JDBC4 and higher, default "true" value of the option means that calls of 'DatabaseMetaData.getProcedures()' and 'DatabaseMetaData.getProcedureColumns()' return metadata for both procedures and functions as before, keeping backward compatibility. Setting this property to "false" decouples Connector/J from its pre-JDBC4 behaviours for 'DatabaseMetaData.getProcedures()' and 'DatabaseMetaData.getProcedureColumns()', forcing them to return metadata for procedures only.falseTRUE,FALSE,YES,NO
logSlowQueriesShould queries that take longer than 'slowQueryThresholdMillis' or detected by the 'autoSlowLog' monitoring be reported to the registered 'profilerEventHandler'?falseTRUE,FALSE,YES,NO
trustCertificateKeyStoreUrlURL for the trusted root certificates key store.[CR]If not specified, the property 'fallbackToSystemTrustStore' determines if system-wide trust store is used.false
tcpRcvBufIf connecting using TCP/IP, should the driver set 'SO_RCV_BUF' to the given value? The default value of "0", means use the platform default value for this property.false
gatherPerfMetricsShould the driver gather performance metrics, and report them via the configured logger every 'reportMetricsIntervalMillis' milliseconds?falseTRUE,FALSE,YES,NO
reconnectAtTxEndIf 'autoReconnect' is set to "true", should the driver attempt reconnections at the end of every transaction?falseTRUE,FALSE,YES,NO
fipsCompliantJsseEnables Connector/J to be compatible to JSSE operating in FIPS mode. Should be set to "true" if the JSSE is configured to operate in FIPS mode and Connector/J receives the error "FIPS mode: only SunJSSE TrustManagers may be used" when creating secure connections. If set to "true" then, when establishing secure connections, the driver operates as if the 'sslMode' was set to "VERIFY_CA" or "VERIFY_IDENTITY", i.e., all secure connections require at least server certificate validation, for which a trust store must be configured or fall back to the system-wide trust store must be enabled.falseTRUE,FALSE,YES,NO
password1The password to use in the first phase of a Multi-Factor Authentication workflow. It is a synonym of the connection property 'password' and can also be set with user credentials in the connection string.false
socksProxyPortPort of the SOCKS server.false
openTelemetryShould the driver generate OpenTelemetry traces and handle context propagation to the MySQL Server? This option accepts the values "REQUIRED", "PREFERRED", and "DISABLED". If set to "REQUIRED", an OpenTelemetry library must be available at run time, or connections to the MySQL Server will fail. Setting it to "DISABLED" turns off generating OpenTelemetry instrumentation by Connector/J. Setting it to "PREFERRED" enables generating OpenTelemetry instrumentation provided that an OpenTelemetry library is available at run time, and a warning is issued otherwise. Not setting a value for the property is equivalent to setting it as "PREFERRED", but no warning is issued when no OpenTelmetry library is available at run time. Connector/J relies entirely on the OpenTelemetry exporters configured in the calling application and does not provide any means of configuring its own exporters.falseDISABLED,PREFERRED,REQUIRED
cacheResultSetMetadataShould the driver cache 'ResultSetMetaData' for statements and prepared statements?falseTRUE,FALSE,YES,NO
initialTimeoutIf 'autoReconnect' is enabled, the initial time to wait between re-connect attempts (in seconds, defaults to "2").false
maxByteArrayAsHexMaximum size for a byte array parameter in a prepared statement that is converted to a hexadecimal literal when interpolated by 'JdbcPreparedStatement.toString()'. Any byte arrays larger than this value are interpolated generically as "** BYTE ARRAY DATA **".false
useReadAheadInputUse optimized non-blocking buffered input stream when reading from the server?falseTRUE,FALSE,YES,NO
trustCertificateKeyStoreTypeKey store type for trusted root certificates.[CR]Null or empty means use the default, which is "JKS". Standard key store types supported by the JVM are "JKS" and "PKCS12", your environment may have more available depending on what security providers are installed and available to the JVM.false
sessionVariablesA comma or semicolon separated list of "name=value" pairs to be sent as "SET [SESSION] ..." to the server when the driver connects.false
profilerEventHandlerName of a class that implements the interface 'com.mysql.cj.log.ProfilerEventHandler' that will be used to handle profiling/tracing events.false
locatorFetchBufferSizeIf 'emulateLocators' is configured to "true", what size buffer should be used when fetching BLOB data for 'getBinaryInputStream()'?false
allowLoadLocalInfileInPathEnables "LOAD DATA LOCAL INFILE ..." statements, but only allows loading files from the specified path. Files within sub-directories are also allowed, but relative paths or symlinks that fall outside this path are forbidden.false
requireSSLDEPRECATED: See 'sslMode' property description for details.[CR]For 8.0.12 and earlier: Require server support of SSL connection if "useSSL=true".falseTRUE,FALSE,YES,NO
useLocalSessionStateShould the driver refer to the internal values of auto-commit and transaction isolation that are set by 'Connection.setAutoCommit()' and 'Connection.setTransactionIsolation()' and transaction state as maintained by the protocol, rather than querying the database or blindly sending commands to the database for 'commit()' or 'rollback()' method calls?falseTRUE,FALSE,YES,NO
trustManagerFactoryProviderThe name of the a Java Security Provider that provides a 'javax.net.ssl.TrustManagerFactory' implementation. If none is specified then the default one is used.false
useUnbufferedInputDon't use 'BufferedInputStream' for reading data from the server.falseTRUE,FALSE,YES,NO
useOldAliasMetadataBehaviorShould the driver use the legacy behavior for "AS" clauses on columns and tables, and only return aliases ,if any, for 'ResultSetMetaData.getColumnName()' or 'ResultSetMetaData.getTableName()' rather than the original column/table name?falseTRUE,FALSE,YES,NO
rewriteBatchedStatementsShould the driver use multi-queries, regardless of the setting of 'allowMultiQueries', as well as rewriting of prepared statements for INSERT and REPLACE queries into multi-values clause statements when 'executeBatch()' is called?[CR]Notice that this might allow SQL injection when using plain statements and the provided input is not properly sanitized. Also notice that for prepared statements, if the stream length is not specified when using 'PreparedStatement.set*Stream()', the driver would not be able to determine the optimum number of parameters per batch and might return an error saying that the resultant packet is too large.[CR]'Statement.getGeneratedKeys()', for statements that are rewritten only works when the entire batch consists of INSERT or REPLACE statements.[CR]Be aware that when using "rewriteBatchedStatements=true" with "INSERT ... ON DUPLICATE KEY UPDATE" for rewritten statements, the server returns only one value for all affected (or found) rows in the batch, and it is not possible to map it correctly to the initial statements; in this case the driver returns "0" as the result for each batch statement if total count was zero, and 'Statement.SUCCESS_NO_INFO' if total count was above zero.falseTRUE,FALSE,YES,NO
databaseTermMySQL uses the term "schema" as a synonym of the term "database," while Connector/J historically takes the JDBC term "catalog" as synonymous to "database". This property sets for Connector/J which of the JDBC terms "catalog" and "schema" is used in an application to refer to a database. The property takes one of the two values "CATALOG" or "SCHEMA" and uses it to determine (1) which Connection methods can be used to set/get the current database (e.g. 'setCatalog()' or 'setSchema()'?), (2) which arguments can be used within the various 'DatabaseMetaData' methods to filter results (e.g. the catalog or 'schemaPattern' argument of 'getColumns()'?), and (3) which fields in the result sets returned by 'DatabaseMetaData' methods contain the database identification information (i.e., the 'TABLE_CAT' or 'TABLE_SCHEM' field in the result set returned by 'getTables()'?).[CR]If "databaseTerm=CATALOG", 'schemaPattern' for searches are ignored and calls of schema methods (like 'setSchema()' or get 'Schema()') become no-ops, and vice versa.falseCATALOG,SCHEMA
passwordCharacterEncodingInstructs the server to use the default character set for the specified Java encoding during the authentication phase. If this property is not set, Connector/J falls back to the collation name specified in the property 'connectionCollation' or to the Java encoding specified in the property 'characterEncoding', in that order of priority. The default collation of the character set utf8mb4 is used if none of the properties is set.false
emptyStringsConvertToZeroShould the driver allow conversions from empty string fields to numeric values of "0"?falseTRUE,FALSE,YES,NO
queryTimeoutKillsConnectionIf the timeout given in 'Statement.setQueryTimeout()' expires, should the driver forcibly abort the connection instead of attempting to abort the query?falseTRUE,FALSE,YES,NO
loadBalanceValidateConnectionOnSwapServerShould the load-balanced connection explicitly check whether the connection is live when swapping to a new physical connection at commit/rollback?falseTRUE,FALSE,YES,NO
allowReplicaDownConnectionsBy default, a replication-aware connection will fail to connect when configured replica hosts are all unavailable at initial connection. Setting this property to "true" allows to establish the initial connection. It won't prevent failures when switching to replicas i.e. by setting the replication connection to read-only state. The property 'readFromSourceWhenNoReplicas' should be used for this purpose.falseTRUE,FALSE,YES,NO
metadataCacheSizeThe number of queries to cache 'ResultSetMetadata' for if 'cacheResultSetMetaData' is set to "true".false
allowPublicKeyRetrievalAllows special handshake round-trip to get an RSA public key directly from server.falseTRUE,FALSE,YES,NO
secondsBeforeRetrySourceHow long, in seconds, should the driver wait when failed over, before attempting to reconnect to the primary host? Whichever condition is met first, 'queriesBeforeRetrySource' or 'secondsBeforeRetrySource' will cause an attempt to be made to reconnect to the source host. Setting both properties to "0" disables the automatic fall back to the primary host at transaction boundaries.false
useSSLDEPRECATED: See 'sslMode' property description for details.[CR]For 8.0.12 and earlier: Use SSL when communicating with the server, default is "true" when connecting to MySQL 5.5.45+, 5.6.26+ or 5.7.6+, otherwise default is "false".[CR] For 8.0.13 and later: Default is "true".falseTRUE,FALSE,YES,NO
disconnectOnExpiredPasswordsIf 'disconnectOnExpiredPasswords' is set to "false" and password is expired then server enters sandbox mode and sends 'ERR(08001, ER_MUST_CHANGE_PASSWORD)' for all commands that are not needed to set a new password until a new password is set.falseTRUE,FALSE,YES,NO
cachePrepStmtsShould the driver cache the parsing stage of PreparedStatements of client-side prepared statements, the "check" for suitability of server-side prepared and server-side prepared statements themselves?falseTRUE,FALSE,YES,NO
loadBalanceExceptionCheckerFully-qualified class name of custom exception checker. The class must implement 'com.mysql.cj.jdbc.ha.LoadBalanceExceptionChecker' interface, and is used to inspect 'SQLException' exceptions and determine whether they should trigger fail-over to another host in a load-balanced deployment.false
dnsSrvShould the driver use the given host name to lookup for DNS SRV records and use the resulting list of hosts in a multi-host failover connection? Note that a single host name and no port must be provided when this option is enabled.falseTRUE,FALSE,YES,NO
sslContextProviderThe name of the a Java Security Provider that provides a 'javax.net.ssl.SSLContext' implementation. If none is specified then the default one is used.false
useInformationSchemaShould the driver use the INFORMATION_SCHEMA to derive information used by 'DatabaseMetaData'? Default is "true" when connecting to MySQL 8.0.3+, otherwise default is "false".falseTRUE,FALSE,YES,NO
zeroDateTimeBehaviorWhat should happen when the driver encounters DATETIME values that are composed entirely of zeros - used by MySQL to represent invalid dates? Valid values are "EXCEPTION", "ROUND" and "CONVERT_TO_NULL".falseCONVERT_TO_NULL,EXCEPTION,ROUND

MySQL JDBC Driver (Connector/J) Download

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です