Here is how to deal with the surprising-to-impossible-seeming error “Unable to uninstall the MySQL module because: The module ‘MySQL’ is providing the database driver ‘mysql’..”
Like, why is it trying to uninstall anything when you are installing? Well, it is because you are installing with existing configuration— and your configuration is out-of-date. This same problem will happen on configuration import on a Drupal website, too.
Really this error message is a strong reminder to always run database updates and then commit any resulting configuration changes after updating Drupal core or module code.
And so the solution is to roll back the code to Drupal 9.3, do your installation from configuration, and then run the database updates, export configuration, and commit the result.
git checkout <commit-hash-of-earlier-composer-lock> composer install drush -y site:install drutopia --existing-config git checkout main composer install drush -y updb drush -y cex git commit -m "Apply configuration updates from Drupal 9.4 upgrade"
The system update
enable_provider_database_driver is the
post-update hook that is doing the work here to “Enable the modules that are providing the listed database drivers.” Pretty cool feature and a strong reminder to always, always run database updates and commit any configuration changes immediately after any code updates!