Skip to content

fix: remove hardcoded mysql_native_password for MySQL 8.4 compat#135

Merged
AaronFeledy merged 3 commits intomainfrom
fix/mysql84-auth
Mar 2, 2026
Merged

fix: remove hardcoded mysql_native_password for MySQL 8.4 compat#135
AaronFeledy merged 3 commits intomainfrom
fix/mysql84-auth

Conversation

@AaronFeledy
Copy link
Member

@AaronFeledy AaronFeledy commented Mar 1, 2026

Summary

MySQL 8.4 removed the default_authentication_plugin config variable (deprecated in 8.0.34, removed in 8.4). The bitnami image translates the MYSQL_AUTHENTICATION_PLUGIN env var into this config entry, causing MySQL 8.4 to fail with:

[ERROR] [MY-000067] [Server] unknown variable 'default_authentication_plugin=mysql_native_password'

Changes

  • Removed hardcoded authentication: 'mysql_native_password' from the recipe database config
  • The lando/mysql plugin already handles the 5.7 case internally (builders/mysql.js:42), so recipes don't need to set this

Backwards Compatibility

  • MySQL 5.7: ✅ Unaffected — the mysql plugin forces mysql_native_password for 5.7
  • MySQL 8.0-8.3: ✅ Uses caching_sha2_password by default (correct modern auth)
  • MySQL 8.4+: ✅ No longer crashes on startup

Related


Note

Medium Risk
Changes the database service configuration to no longer force a specific MySQL auth plugin, which can affect how users authenticate across MySQL versions. Risk is moderate but scoped to database startup/auth behavior and should be covered by versioned MySQL service tests.

Overview
Fixes MySQL 8.4 containers failing to start by removing the WordPress recipe’s hardcoded mysql_native_password database authentication setting, deferring auth behavior to the underlying MySQL service/plugin.

Also updates Netlify deploy-preview link checking to ignore hub.docker.com links, and documents the MySQL fix in CHANGELOG.md.

Written by Cursor Bugbot for commit 3588b93. This will update automatically on new commits. Configure here.

The default_authentication_plugin config variable was removed in MySQL 8.4.
The bitnami image translates MYSQL_AUTHENTICATION_PLUGIN into this variable,
causing a fatal startup error. The mysql plugin already handles 5.7 auth
internally, so recipes don't need to set this.

Fixes lando/mysql#69, lando/mysql#72
@netlify
Copy link

netlify bot commented Mar 1, 2026

Deploy Preview for lando-wordpress ready!

Name Link
🔨 Latest commit 3588b93
🔍 Latest deploy log https://app.netlify.com/projects/lando-wordpress/deploys/69a4db8f7818620008003cfd
😎 Deploy Preview https://deploy-preview-135--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: 83 (🔴 down 11 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

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

@AaronFeledy AaronFeledy merged commit 048a2ae into main Mar 2, 2026
34 checks passed
@AaronFeledy AaronFeledy deleted the fix/mysql84-auth branch March 2, 2026 01:27
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.

1 participant