DBZ-8030 Add support for MySQL 9
This commit is contained in:
parent
4cca5a78c1
commit
c5482a4df1
2
.github/workflows/debezium-workflow-pr.yml
vendored
2
.github/workflows/debezium-workflow-pr.yml
vendored
@ -308,7 +308,7 @@ jobs:
|
||||
# Runs each combination concurrently
|
||||
matrix:
|
||||
profile: [ "mysql-ci", "mysql-ci-gtids", "mysql-ci-percona", "mysql-ci-ssl" ]
|
||||
version-mysql-server: [ "8.0", "8.4" ]
|
||||
version-mysql-server: [ "8.0", "8.4", "9.0" ]
|
||||
fail-fast: false
|
||||
name: "MySQL ${{ matrix.version-mysql-server }} - ${{ matrix.profile }}"
|
||||
needs: [ check_style, file_changes ]
|
||||
|
2
.github/workflows/debezium-workflow-push.yml
vendored
2
.github/workflows/debezium-workflow-push.yml
vendored
@ -121,7 +121,7 @@ jobs:
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
profile: [ "mysql-ci", "mysql-ci-gtids", "mysql-ci-percona", "mysql-ci-ssl" ]
|
||||
version-mysql-server: [ "8.0", "8.4" ]
|
||||
version-mysql-server: [ "8.0", "8.4", "9.0" ]
|
||||
fail-fast: false
|
||||
name: "MySQL ${{ matrix.version-mysql-server }} - ${{ matrix.profile }}"
|
||||
needs: [ check_style ]
|
||||
|
@ -118,6 +118,21 @@ binlog_expire_logs_seconds = 259200
|
||||
gtid_mode = on
|
||||
enforce_gtid_consistency = on
|
||||
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# This section specifies 9.0 specific configurations
|
||||
# --------------------------------------------------------------------------------------------
|
||||
[mysqld-9.0]
|
||||
|
||||
# ----------------------------------------------
|
||||
# Enable GTIDs on this primary server
|
||||
# ----------------------------------------------
|
||||
gtid_mode = on
|
||||
enforce_gtid_consistency = on
|
||||
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 259200
|
||||
binlog_expire_logs_seconds = 259200
|
||||
|
@ -97,3 +97,14 @@ enforce_gtid_consistency = on
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 259200
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# This section specifies 9.0 specific configurations
|
||||
# --------------------------------------------------------------------------------------------
|
||||
[mysqld-9.0]
|
||||
gtid_mode = on
|
||||
enforce_gtid_consistency = on
|
||||
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 259200
|
||||
|
@ -82,3 +82,11 @@ binlog_expire_logs_seconds = 86400
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 86400
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# This section specifies 9.0 specific configurations
|
||||
# --------------------------------------------------------------------------------------------
|
||||
[mysqld-9.0]
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 86400
|
||||
|
@ -77,3 +77,11 @@ binlog_expire_logs_seconds = 86400
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 86400
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# This section specifies 9.0 specific configurations
|
||||
# --------------------------------------------------------------------------------------------
|
||||
[mysqld-9.0]
|
||||
authentication_policy = caching_sha2_password
|
||||
caching_sha2_password_auto_generate_rsa_keys = on
|
||||
binlog_expire_logs_seconds = 86400
|
||||
|
@ -25,6 +25,7 @@ public enum MySqlVersion {
|
||||
MYSQL_5_6,
|
||||
MYSQL_5_7,
|
||||
MYSQL_8,
|
||||
MYSQL_9
|
||||
}
|
||||
|
||||
MySqlVersion mySqlVersion;
|
||||
@ -116,7 +117,9 @@ public boolean isPercona() {
|
||||
|
||||
@Override
|
||||
public String currentDateTimeDefaultOptional(String isoString) {
|
||||
return !MySqlVersion.MYSQL_8.equals(getMySqlVersion()) ? isoString : null;
|
||||
return !MySqlVersion.MYSQL_8.equals(getMySqlVersion()) && !MySqlVersion.MYSQL_9.equals(getMySqlVersion())
|
||||
? isoString
|
||||
: null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -141,7 +144,7 @@ public void setBinlogRowQueryEventsOn() throws SQLException {
|
||||
|
||||
@Override
|
||||
public boolean isCurrentDateTimeDefaultGenerated() {
|
||||
return MySqlVersion.MYSQL_8.equals(getMySqlVersion());
|
||||
return MySqlVersion.MYSQL_8.equals(getMySqlVersion()) || MySqlVersion.MYSQL_9.equals(getMySqlVersion());
|
||||
}
|
||||
|
||||
public MySqlVersion getMySqlVersion() {
|
||||
@ -149,7 +152,10 @@ public MySqlVersion getMySqlVersion() {
|
||||
final String versionString = getMySqlVersionString();
|
||||
|
||||
// Fallback to MySQL
|
||||
if (versionString.startsWith("8.")) {
|
||||
if (versionString.startsWith("9.")) {
|
||||
mySqlVersion = MySqlVersion.MYSQL_9;
|
||||
}
|
||||
else if (versionString.startsWith("8.")) {
|
||||
mySqlVersion = MySqlVersion.MYSQL_8;
|
||||
}
|
||||
else if (versionString.startsWith("5.5")) {
|
||||
|
Loading…
Reference in New Issue
Block a user