Repository navigation
fix: MySQL 8.2+ and mysql:8 failing to start - #193
Merged
Merged
Conversation
✅ Deploy Preview for lando-drupal ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

MySQL 8.2 removed
expire_logs_days, but the Drupal 6–10 MySQL 8 configs still set it, somysql:8.2,8.3and8.4abort on startup withunknown variable 'expire_logs_days=10'. The baremysql:8alias (MySQL 8.4.5) was also loading the 5.7 config file and failing onquery_cache_limit.expire_logs_days = 10withbinlog_expire_logs_seconds = 864000: same 10 days, supported since MySQL 8.0.1mysql:8to the MySQL 8 configmysql_native_password, somysql:8(8.4) no longer gets an auth setting MySQL 8.4 rejects. 8.0–8.3 behave as beforeexamples/drupal10-mysql84onmysql:8to CIVerified locally on Lando 3.26.9:
lando startwithdatabase: mysql:8boots MySQL 8.4.5 with the MySQL 8 config andbinlog_expire_logs_seconds=864000. The new example passes in Leia.Fixes #186
Note
Medium Risk
Changes default MySQL config files and authentication defaults for the mysql:8 alias across Drupal recipes; mis-versioning could still break local database boots.
Overview
Fixes Drupal recipe MySQL 8.2+ and
mysql:8startup failures by aligning configs and version handling with current MySQL images.All Drupal 6–10
mysql8.cnftemplates now setbinlog_expire_logs_seconds = 864000instead of the removedexpire_logs_days, so MySQL 8.2+ no longer aborts on unknown variables. Default config selection treats any 8.x database tag (includingmysql:8) as MySQL 8 and loadsmysql8.cnfinstead of the 5.7 file. Thedrupal-mysqlbuilder resolves pinned image versions before choosingmysql_native_password, somysql:8(8.4) is not forced onto auth settings 8.4 rejects while 8.0–8.3 behavior stays the same.CI adds
examples/drupal10-mysql84to the Leia matrix and pinslando/run-leia-actionto 1.0.0-beta.4; the unreleased changelog documents the fixes (Fixes #186).Reviewed by Cursor Bugbot for commit 8d94a0d. Bugbot is set up for automated code reviews on this repo. Configure here.