Well, that could have gone better

My home linux box has been bugging me to upgrade from Kubuntu 19.04 to 19.10 for a while (Kubuntu version numbers are the last 2 digits of the year followed by the two digit month, so 19.10 is approximately 2 months old). Usually these upgrades go pretty smoothly so I fired it up and went away for lunch.

When I got back, it was complaining about something wrong with the MySQL upgrade. None of my MySQL based websites (this blog, my Drupal sites, and my old Gallery3 site). After rebooting, I couldn’t get MySQL to start up.

I removed and purged all the MySQL packages, and reinstalled it. When I attempted to restore my database from my backups, I discovered three things:

  • I’d done an old development project several years ago that had installed something for Paypal integration that the new version of MySQL didn’t like, and I basically had to edit it out of the database backup to get it to restore.
  • Restoring system tables that mysql_dump had dumped broke everything, because it installed a MySQL 5.7 version of the mysql.users table that had fewer columns than MySQL 8.0 expected. I had to manually edit all the system tables out of the database backup as well.
  • When I manually recreated the users that each of the websites required, it turns out that the default authentication method that MySQL 8 uses is not compatible with what PHP expects. I had to re-create the users specifying the older authentication method.
  • Drupal 7 is not officially compatible with MySQL 8, so I had to find and install a patch. I guess I’d better find the time to upgrade Drupal as well.

Other than that, my main worry is that it deleted a bazillion deb packages that it said it didn’t need any more. I didn’t look at them in detail, but one of them was PostGIS and I had to re-install it so my Navaid database would work again. I guess I’ll just keep an eye out for broken stuff and fix them as they show up.