I have a 5.7.mysql_aurora.2.12.2 cluster and both cluster and instance are using default parameter group default.aurora-mysql5.7
. After created and selected AuroraDB for MySQL8.0 compatible cluster and instance parameter, I tried to upgrade my cluster using 3 different methods: Blue/Green deployment, restore from Snapshot and clone then upgrade cluster but all result in the same error from Cluster log in AWS console:
Database cluster is in a state that cannot be upgraded: Upgrade prechecks failed. For more details, see the upgrade-prechecks.log file. For more information on troubleshooting the cause of the upgrade failure, see https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.mysql80-upgrade-procedure.html#AuroraMySQL.mysql80-upgrade-troubleshooting.
I have downloaded ther upgrade-precheck.log but I would not solve anyone of them. Here is the filtered version without values in checksPerformed with "status": "OK"
:
{
"serverAddress": "/tmp%2Fmysql.sock",
"serverVersion": "5.7.12-log - MySQL Community Server (GPL)",
"targetVersion": "8.0.28",
"auroraServerVersion": "2.11.5",
"auroraTargetVersion": "3.04.2",
"outfilePath": "/rdsdbdata/tmp/PreChecker.log",
"checksPerformed": [
{
"id": "removedSysLogVars",
"title": "Removed system variables for error logging to the system log configuration",
"status": "CONFIGURATION_ERROR",
"description": "To run this check requires full path to MySQL server configuration file to be specified at 'configPath' key of options dictionary",
"documentationLink": "https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13.html#mysqld-8-0-13-logging"
},
{
"id": "removedSysVars",
"title": "Removed system variables",
"status": "CONFIGURATION_ERROR",
"description": "To run this check requires full path to MySQL server configuration file to be specified at 'configPath' key of options dictionary",
"documentationLink": "https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html#optvars-removed"
},
{
"id": "sysVarsNewDefaults",
"title": "System variables with new default values",
"status": "CONFIGURATION_ERROR",
"description": "To run this check requires full path to MySQL server configuration file to be specified at 'configPath' key of options dictionary",
"documentationLink": "https://mysqlserverteam.com/new-defaults-in-mysql-8-0/"
},
{
"id": "defaultAuthenticationPlugin",
"title": "New default authentication plugin considerations",
"description": "Warning: The new default authentication plugin 'caching_sha2_password' offers more secure password hashing than previously used 'mysql_native_password' (and consequent improved client connection authentication). However, it also has compatibility implications that may affect existing MySQL installations. If your MySQL installation must serve pre-8.0 clients and you encounter compatibility issues after upgrading, the simplest way to address those issues is to reconfigure the server to revert to the previous default authentication plugin (mysql_native_password). For example, use these lines in the server option file:\n\n[mysqld]\ndefault_authentication_plugin=mysql_native_password\n\nHowever, the setting should be viewed as temporary, not as a long term or permanent solution, because it causes new accounts created with the setting in effect to forego the improved authentication security.\nIf you are using replication please take time to understand how the authentication plugin changes may impact you.",
"documentationLink": "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-compatibility-issues\nhttps://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-replication"
}
],
"errorCount": 9,
"warningCount": 904,
"noticeCount": 0,
"Summary": "9 errors were found. Please correct these issues before upgrading to avoid compatibility issues."
}
What should I do? My last sort is to create a new AuroraDB v3 cluster then use mydumper and myloader to manually restore data into the new DB. I will not try DMS as it never works at all for me.
Thank you for helping
Yes, if I have not created and selected AuroraDB for MySQL8.0 compatible cluster and instance parameter, I cannot even start the process at all. Forgot to mention it.
You need to check all the errors listed in "upgrade-prechecks.log" and deal with them one by one. Please check with the command below. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.MajorVersionUpgrade.html#AuroraMySQL.Upgrading.failure-events