Skip to content

docs: add MySQL 8.4 migration guide for customers - #10163

Open
kanishkaverma wants to merge 5 commits into
mainfrom
docs/mysql-84-migration-guide
Open

docs: add MySQL 8.4 migration guide for customers#10163
kanishkaverma wants to merge 5 commits into
mainfrom
docs/mysql-84-migration-guide

Conversation

@kanishkaverma

Copy link
Copy Markdown

Adds a new page to the MariaDB and MySQL guide covering MySQL 8.4 migration.

Content

  • How to enable MySQL 8.4 via pantheon.yml
  • Pre-migration checklist (CMS compatibility matrix, reserved word conflicts)
  • What happens during migration (process, timing estimates by DB size)
  • Post-migration changes (collation defaults, sql_mode differences)
  • Common issues and fixes (ONLY_FULL_GROUP_BY, collation mismatches, reserved words)
  • Limitations (no self-service rollback, engine-specific backups, MariaDB 10.6 prerequisite)

Context

MySQL 8.4 LTS support is nearing GA. This guide is part of pre-release prep for PS/CS/TS readiness (PRT-3742). Based on at-scale validation of 14 sites from 0 MB to 85 GB (PRT-3727).

The pantheon.yml page will also need an update to mention MySQL 8.4 alongside MariaDB versions, but that can be a follow-up.

Refs: PRT-3742

Customer-facing guide covering how to enable MySQL 8.4 via
pantheon.yml, pre-migration checklist, CMS compatibility matrix,
reserved word conflicts, migration process and timing, common
post-migration issues (ONLY_FULL_GROUP_BY, collation mismatches),
and limitations.

Refs: PRT-3742
@kanishkaverma
kanishkaverma requested a review from a team as a code owner July 9, 2026 23:52
@pantheon-site-integration
pantheon-site-integration Bot temporarily deployed to pr-10163 July 9, 2026 23:52 Inactive
@pantheon-site-integration

Copy link
Copy Markdown

Successfully created multidev environment: pr-10163

@rachelwhitton rachelwhitton self-assigned this Jul 13, 2026
@rachelwhitton rachelwhitton added Type: New Content Request for or PR containing new content to existing page Topic: Database labels Jul 13, 2026
@pantheon-site-integration
pantheon-site-integration Bot temporarily deployed to pr-10163 July 13, 2026 18:27 Inactive
@pantheon-site-integration

Copy link
Copy Markdown

Successfully created multidev environment: pr-10163


- **No self-service rollback.** Reverting from MySQL 8.4 to MariaDB requires Pantheon support. Always test on a [Multidev](/guides/multidev) first.
- **Backups are engine-specific.** A backup taken on MySQL 8.4 cannot be restored to a MariaDB environment, and vice versa.
- **MariaDB 10.6 required.** Your site must be on MariaDB 10.6 before migrating to MySQL 8.4. Sites on older MariaDB versions will be upgraded to 10.6 first automatically.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kanishkaverma in Slack we discussed making this a recommendation rather than a requirement. Let's hold off on publishing until we know for certain.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Softened to "recommended" with a note that the migration currently requires 10.6 as the source version. That way the doc is accurate to today's behavior but doesn't read as a hard prerequisite for customers planning ahead.

Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md Outdated
|-----|----------------|-------|
| WordPress 6.x | All versions | Fully compatible |
| WordPress 5.x | 5.9+ | Older versions may hit reserved word or sql_mode issues |
| Drupal 10 | 10.2+ | Earlier versions may need patches for the `GROUPS` reserved word |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What patches would they need? It might be wiser for us to just recommend upgrading to the highest available point release.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call. Changed both WordPress 5.x and Drupal 10 to recommend upgrading to the latest point release rather than pinning specific versions.

Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md
Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md Outdated
Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md Outdated
Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md Outdated
Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md Outdated
Before enabling MySQL 8.4, consider the following limitations:

- **No self-service rollback.** Reverting from MySQL 8.4 to MariaDB requires Pantheon support. Always test on a [Multidev](/guides/multidev) first.
- **Backups are engine-specific.** A backup taken on MySQL 8.4 cannot be restored to a MariaDB environment, and vice versa.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't a backup taken in MariaDB be imported to a MySQL environment? aren't we doing this conversion with a backup and import?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right that the migration itself uses backup and import internally, and the platform handles the engine conversion during that process. The limitation is that a manual backup/restore initiated by the customer does not do that conversion. Rewrote the bullet to explain both sides.

Comment thread src/source/content/guides/mariadb-mysql/11-mysql-84.md
Co-authored-by: Steve Persch <stevector@users.noreply.github.com>
@pantheon-site-integration
pantheon-site-integration Bot temporarily deployed to pr-10163 July 13, 2026 20:24 Inactive
Co-authored-by: Steve Persch <stevector@users.noreply.github.com>
@pantheon-site-integration
pantheon-site-integration Bot temporarily deployed to pr-10163 July 13, 2026 20:25 Inactive
@pantheon-site-integration

Copy link
Copy Markdown

Successfully created multidev environment: pr-10163

1 similar comment
@pantheon-site-integration

Copy link
Copy Markdown

Successfully created multidev environment: pr-10163

@clayfreeman

Copy link
Copy Markdown

There doesn't seem to be a way to track progress via workflows, at least for multidev environments. The typical "Synced code on ..." workflow will be logged, but it completes nearly instantaneously. Meanwhile, the database migration is happening in the background.

The only way that I know it's happening is because I'm periodically running terminus -n drush site.env -- sqlq 'SELECT VERSION();'. If there was a way to monitor progress (or at least migration duration via workflow start + end) in the dashboard, that would be fantastic.

…stream rollout note

- Backups bullet: explain that the platform handles conversion during
  migration, but manual backup/restore does not cross engines.
- MariaDB 10.6: soften from 'required' to 'recommended' per Slack
  discussion, while noting the migration currently requires it.
- CMS table: replace specific version pins with 'latest point release'
  recommendation per stevector feedback.
- Add upstream rollout note explaining managed upstream vs custom
  upstream behavior for pantheon.upstream.yml changes.
@pantheon-site-integration

Copy link
Copy Markdown

Successfully created multidev environment: pr-10163

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Topic: Database Type: New Content Request for or PR containing new content to existing page

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants