Skip to content

fix: MySQL 8.2+ and mysql:8 failing to start - #141

Merged
AaronFeledy merged 6 commits into
mainfrom
fix/mysql-8.4-startup
Oct 15, 2026
Merged

AaronFeledy merged 6 commits into
mainfrom
fix/mysql-8.4-startup

Conversation

@AaronFeledy

@AaronFeledy AaronFeledy commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

MySQL 8.2 removed expire_logs_days, but the recipe's MySQL 8 config still sets it, so mysql:8.2, 8.3 and 8.4 abort on startup with unknown variable 'expire_logs_days=10'. The bare mysql:8 alias (MySQL 8.4.5) was also loading the 5.7 config file and failing on query_cache_limit.

  • Replace expire_logs_days = 10 with binlog_expire_logs_seconds = 864000: same 10 days, supported since MySQL 8.0.1
  • Send mysql:8 to the MySQL 8 config
  • Add examples/wordpress-mysql84 on mysql:8 to CI

Verified locally on Lando 3.26.9: lando start with database: mysql:8 boots MySQL 8.4.5 with the MySQL 8 config and binlog_expire_logs_seconds=864000.

Fixes #107


Note

Low Risk
Targeted database config and version-routing fixes with new example/CI coverage; no auth or data-migration changes.

Overview
Fixes MySQL startup failures for the WordPress recipe on MySQL 8.2+ and the mysql:8 alias.

config/mysql8.cnf swaps the removed expire_logs_days setting for binlog_expire_logs_seconds = 864000 (equivalent 10-day retention), so 8.2+ no longer aborts on an unknown variable.

builders/wordpress.js broadens when mysql8.cnf is chosen: any version string starting with 8 (including bare mysql:8) gets the MySQL 8 config instead of the legacy 5.7 mysql.cnf that breaks on 8.4 (e.g. query_cache_limit).

CI adds examples/wordpress-mysql84 (Leia README covering mysql:8, the mysql8 config marker, and binlog_expire_logs_seconds) to the WordPress test matrix and pins run-leia-action to 1.0.0-beta.4. CHANGELOG documents both fixes.

Reviewed by Cursor Bugbot for commit 6c89bec. Bugbot is set up for automated code reviews on this repo. Configure here.

@netlify

netlify Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for lando-wordpress ready!

Name Link
🔨 Latest commit 6c89bec
🔍 Latest deploy log https://app.netlify.com/projects/lando-wordpress/deploys/6ad0bbf2982c9574ffe6b6d9
😎 Deploy Preview https://deploy-preview-141--lando-wordpress.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 89 (no change from production)
Accessibility: 96 (no change from production)
Best Practices: 100 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@AaronFeledy
AaronFeledy merged commit 6d07797 into main Oct 15, 2026
36 checks passed
@AaronFeledy
AaronFeledy deleted the fix/mysql-8.4-startup branch October 15, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

expire_logs_days not supported under MySQL 8.2+

1 participant