The following are some known issues and limitations for MySQL Connector/J:
When Connector/J retrieves timestamps for a daylight saving time (DST) switch day using the
getTimeStamp()method on the result set, some of the returned values might be wrong. The errors can be avoided by using the following connection options when connecting to a database:
The functionality of the property
elideSetAutoCommitshas been disabled due to Bug# 66884. Any value given for the property is ignored by Connector/J.
MySQL Server uses a proleptic Gregorian calendar internally. However, Connector/J uses
java.sql.Date, which is non-proleptic. Therefore, when setting and retrieving dates that were before the Julian-Gregorian cutover (October 15, 1582) using the
PreparedStatementmethods, always supply explicitly a proleptic Gregorian calendar to the
getDate()methods, in order to avoid possible errors with dates stored to and calculated by the server.
For MySQL 8.0.14 and later, 5.7.25 and later, and 5.6.43 and later: To use Windows named pipes for connections, the MySQL Server that Connector/J wants to connect to must be started with the system variable
named_pipe_full_access_group; see Section 3.5.10, “Connecting Using Named Pipes” for details.
Because Connector/J does not enable connections with TLSv1.2 and higher by default due to compatibility issues, when connecting to servers that restrict connections to use those higher TLS versions, you might encounter
com.mysql.cj.exceptions.CJCommunicationsException: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate). You need to enable connections with TLSv1.2 and higher versions using the
enabledTLSProtocolsconnection property. See Section 3.5.8, “Connecting Securely Using SSL” for details.