Skip to content

Updating recipe with mysql database to PHP 8.4 causes mysql command errors #167

@yorkshire-pudding

Description

@yorkshire-pudding

I have a Backdrop recipe with MySQL database; I have tried with default and 8.0
It has a setup script that runs some mysql commands to create additional databases and grant all privileges to the default database user.
It was previously on PHP 8.3 and this script ran fine.

When it runs now it gives the following error:

mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
ERROR 2026 (HY000): TLS/SSL error: self-signed certificate in certificate chain

I also get this on mysqldump:

/usr/bin/mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead
mysqldump: Got error: 2026: "TLS/SSL error: Certificate verification failure: The certificate is NOT trusted." when trying to connect

I ssh'd into the app to see what is happening:

$ lando ssh -u root
root@fc220caa9207:/app# ls -al /usr/bin/mariadb
-rwxr-xr-x 1 root root 5308896 Oct 30  2024 /usr/bin/mariadb
root@fc220caa9207:/app# ls -al /usr/bin/mysql
lrwxrwxrwx 1 root root 7 Oct 30  2024 /usr/bin/mysql -> mariadb
root@fc220caa9207:/app#

This doesn't make sense when it is configured for MySQL. Here is the relevant part of the output from lando info:

  { service: 'database',
    urls: [],
    type: 'backdrop-mysql',
    healthy: true,
    internal_connection: { host: 'database', port: '3306' },
    external_connection: { host: '127.0.0.1', port: '44787' },
    healthcheck:
     'mysql --defaults-extra-file=/app/.lando/mysql.cnf --silent --execute "SHOW DATABASES;"',
    creds: { database: 'backdrop', password: 'backdrop', user: 'backdrop' },
    config: { database: '/home/shl/.lando/config/backdrop/mysql.cnf' },
    version: '5.7',
    meUser: 'www-data',
    hasCerts: false,
    api: 3,
    hostnames: [ 'database.bee.internal' ],
    hostname: [] },

Switching back to PHP 8.3 and they all work. I don't understand this as the command is a linux command not a PHP command.
I have tested with another Backdrop recipe and get the same.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions