Skip to content

Missing deprecated variables in mysql:8.4 on Drupal10 recipe #186

Description

@bronius-congruity

Just wanted to drop this nugget in case it helps anyone. Or for someone to correct me where a simpler/more appropriate solution is available.

When jumping from mysql:8.0 to mysql:8.4 I hit an error like:

unknown variable 'default_authentication_plugin=mysql_native_password'.

I saw I had a little bit older version of lando and upgraded, now at:

lando version
v3.26.3

but, long story short, discovered I hadn't upgraded drupal10 recipe in .. ever:

> lando version --component @lando/drupal
v1.12.0

> lando plugin-add @lando/drupal
✔ Installed @lando/drupal@1.15.0 to /Users/bronius/.lando/plugins/@lando/drupal

lando version --component @lando/drupal
v1.15.0

which then unlocked:

unknown variable 'expire_logs_days=10'

which I overcame with a local mysqld cnf override like:

// @file .lando.yml
...
services:
  database:
    config:
      database: mysql84.cnf
...
// and @file mysql84.cnf
[mysqld]
# MySQL 8.4 compatible settings - no deprecated variables
binlog_expire_logs_seconds = 864000
# Remove any deprecated expire_logs_days setting
# expire_logs_days is not set (deprecated in MySQL 8.0.11, removed in 8.4)

By merely presenting a (mostly empty) conf file and referencing it, the recipe-set mysql conf value(s) are not set. Et voila. hth

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions