Skip to content

wp-cli returns FAIL notice when using mariadb symlinked mysql* commands; request for native mdb support #271

Closed

Description

@pgnd

i've installed

wp-cli  cli info
	OS:     Linux 6.10.6-200.fc40.x86_64 wp-cli/wp-cli#1 SMP PREEMPT_DYNAMIC Mon Aug 19 14:09:30 UTC 2024 x86_64
	Shell:  /bin/bash
	PHP binary:     /usr/bin/php
	PHP version:    8.3.11
	php.ini used:   /usr/local/etc/php8/php.ini
	MySQL binary:
	MySQL version:
	SQL modes:
	WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli
	WP-CLI vendor dir:      phar://wp-cli.phar/vendor
	WP_CLI phar path:       /srv/my.app
	WP-CLI packages dir:    /var/lib/wwwrun/.wp-cli/packages/
	WP-CLI cache dir:       /var/lib/wwwrun/.wp-cli/cache
	WP-CLI global config:   /var/lib/wwwrun/.wp-cli/config.yml
	WP-CLI project config:  /srv/my.app/wp-cli.yml
	WP-CLI version: 2.11.0

i use mariadb

rpm -qa | grep -Ei "^mysql|^mariadb"
	mariadb-sysusers-git_1.0-0.20240812_133520.fc40.noarch
	mariadb-lts-git_11.4-0.20240812_133724.fc40.x86_64
	mariadb-connector-j-git_3.3.1-0.20240812_133547.fc40.noarch

mariadb -V
	mariadb from 11.4.4-MariaDB, client 15.2 for Linux (x86_64) using readline 5.1

where

echo $PATH
	/usr/local/mariadb-lts/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

which mariadb
	/usr/local/mariadb-lts/bin/mariadb

and the mysql-equivalent commands are provided as symlinks

cd /usr/local/mariadb-lts/bin
ls -l mysql* | awk '{print $9, "->", $NF}'
	mysql -> mariadb*
	mysqlaccess -> mariadb-access*
	mysqladmin -> mariadb-admin*
	mysqlbinlog -> mariadb-binlog*
	mysqlcheck -> mariadb-check*
	mysql_client_test -> mariadb-client-test*
	mysql_config* -> mysql_config*
	mysql_convert_table_format -> mariadb-convert-table-format*
	mysqld_multi -> mariadbd-multi*
	mysqld_safe -> mariadbd-safe*
	mysqld_safe_helper -> mariadbd-safe-helper*
	mysqldump -> mariadb-dump*
	mysqldumpslow -> mariadb-dumpslow*
	mysql_find_rows -> mariadb-find-rows*
	mysql_fix_extensions -> mariadb-fix-extensions*
	mysqlhotcopy -> mariadb-hotcopy*
	mysqlimport -> mariadb-import*
	mysql_install_db -> mariadb-install-db*
	mysql_plugin -> mariadb-plugin*
	mysql_secure_installation -> mariadb-secure-installation*
	mysql_setpermission -> mariadb-setpermission*
	mysqlshow -> mariadb-show*
	mysqlslap -> mariadb-slap*
	mysqltest -> mariadb-test*
	mysql_tzinfo_to_sql -> mariadb-tzinfo-to-sql*
	mysql_upgrade -> mariadb-upgrade*
	mysql_waitpid -> mariadb-waitpid*

on exec, wp-cli returns deprecation warnings

wp-cli db check
	mysqlcheck: Deprecated program name. It will be removed in a future release, use '/usr/local/mariadb-lts/bin/mariadb-check' instead
	...

currently, the wp-cli return with the deprecation notice causes some grief mainly with scripts.
but it will likely, eventually break.

as mysql/mariadb continue to diverge, MDB's deprecating the mysql* cmds.
not entirely sure where the end of the thread is, but these are a start

"Remove MySQL names"
https://jira.mariadb.org/browse/MDEV-30201

"deprecate mysql* names"
https://jira.mariadb.org/browse/MDEV-29582

it'll be useful to get native mariadb command support in wp-cli.

Activity

  1. changed the title [-]wp-cli returns deprecation notice when using mariadb symlinked mysql* commands; request for native mdb support[/-] [+]wp-cli returns ~~deprecation~~ FAIL notice when using mariadb symlinked mysql* commands; request for native mdb support[/+] on Aug 31, 2024
  2. changed the title [-]wp-cli returns ~~deprecation~~ FAIL notice when using mariadb symlinked mysql* commands; request for native mdb support[/-] [+]wp-cli returns FAIL notice when using mariadb symlinked mysql* commands; request for native mdb support[/+] on Aug 31, 2024
  3. pgnd commented on Aug 31, 2024

    @pgnd
    Author

    not just warnings, but failures

    where

    ls -al `which mysql`
    	lrwxrwxrwx 1 root root 7 Aug 11 20:00 /usr/local/mariadb-lts/bin/mysql -> mariadb*
    

    and

    DB_NAME=$(wp-cli config get DB_NAME)
    SITE_URL=$(wp-cli option get siteurl)
    SITE_NAME=$(wp-cli option get blogname)
    THEME_NAME=$(wp-cli theme list --status=active --field=name)
    

    this works

    SQL_QUERY="SELECT * FROM wp_options WHERE option_value LIKE '%$SITE_URL%' OR option_value LIKE '%$SITE_NAME%' OR option_value LIKE '%$THEME_NAME%';"
    
    mariadb ${DB_NAME} -e "$SQL_QUERY"
    

    as does

    mysql ${DB_NAME} -e "$SQL_QUERY"
    

    but,

    wp-cli db query "${SQL_QUERY}"
    	Error: Failed to get current SQL modes. Reason: /usr/bin/env: ‘mysql’: No such file or directory
    
    
  4. transferred this issue fromwp-cli/wp-clion Aug 31, 2024
  5. swissspidy commented on Aug 31, 2024

    @swissspidy
    Member

    Isn't this a duplicate of #270, which you opened 2 weeks ago?

  6. pgnd commented on Aug 31, 2024

    @pgnd
    Author

    @swissspidy

    ugh. 🤦 completely forgot that! sorry for the noise ...

    i'll close THAT and leave THIS, since I'm dealing with the FAILs now.

  7. 8 remaining items

  8. Vilasamuni commented on Mar 11, 2025

    @Vilasamuni

    This issue is still present on the latest wp-cli image from https://hub.docker.com/_/wordpress

    /var/www/html` $ wp cli info
    OS:	Linux 6.11.0-19-generic #19~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 17 11:51:52 UTC 2 x86_64
    Shell:	
    PHP binary:	/usr/local/bin/php
    PHP version:	8.2.27
    php.ini used:	
    MySQL binary:	/usr/bin/mysql
    MySQL version:	mysql from 11.4.4-MariaDB, client 15.2 for Linux (x86_64) using readline 5.1
    SQL modes:	
    WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
    WP-CLI vendor dir:	phar://wp-cli.phar/vendor
    WP_CLI phar path:	/var/www/html
    WP-CLI packages dir:	
    WP-CLI cache dir:	/.wp-cli/cache
    WP-CLI global config:	
    WP-CLI project config:	
    WP-CLI version:	2.11.0
    /var/www/html $ wp db import ../backups/db-prod.sql 
    Error: Failed to get current SQL modes. Reason: mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
    ERROR 2026 (HY000): TLS/SSL error: SSL is required, but the server does not support it
    

    The db export command is also affected

  9. thekendog commented on Mar 16, 2025

    @thekendog

    Yeah I'm getting this issue still. What's the fix? WP-CLI is pretty much useless right now if you are using MariaDB 11 and trying to do anything with the DB.

  10. swissspidy commented on Mar 17, 2025

    @swissspidy
    Member

    We've just recently discussed this again in #280, as we also need to figure out what to do if both MySQL and MariaDB are installed. We might open a new issue for that for visibility.

  11. thekendog commented on Mar 17, 2025

    @thekendog

    So there's just no workaround right now? That's a bummer.

  12. Vilasamuni commented on Mar 17, 2025

    @Vilasamuni
  13. swissspidy commented on Mar 17, 2025

    @swissspidy
    Member

    As I said, we‘ll probably open a new issue.

  14. Vilasamuni commented on Mar 17, 2025

    @Vilasamuni

    Sorry I missed that bit! I've hidden my previous comment.

  15. swissspidy commented on Mar 28, 2025

    @swissspidy
    Member

    So we just made some significant improvements in #6072 and in the main framework repo. We expect these issues to be resolved in the upcoming WP-CLI v2.12 release.

  16. basgrave commented on May 12, 2025

    @basgrave

    @swissspidy That is awesome! I just saw the new version was released recently, but i'm still getting the error when trying to import a database via wp cli:

    [+] Creating 1/1
    ✔ Container test-db-1 Running 0.0s
    Error: Failed to get current SQL modes. Reason: ERROR 2026 (HY000): TLS/SSL error: SSL is required, but the server does not support it

  17. swissspidy commented on May 12, 2025

    @swissspidy
    Member

    @basgrave This issue here was about Deprecated program name. warnings, which is what we fixed in the latest release. Your error is about TLS/SSL, which is unrelated to that. I think that's being tracked in #278. Note that, depending on the command, you can pass flags such as --ssl which are forwarded to the MySQL command.

  18. thekendog commented on May 12, 2025

    @thekendog

    Updated to 2.12 on an older server. Centos 7. I now get this error when trying to do a DB export.

    /usr/bin/env: mariadb-dump: No such file or directory

  19. swissspidy commented on May 12, 2025

    @swissspidy
    Member

    Mind opening a new issue for that please?

  20. Judapriest commented on Jun 5, 2025

    @Judapriest

    Updated to 2.12 on an older server. Centos 7. I now get this error when trying to do a DB export.

    /usr/bin/env: mariadb-dump: No such file or directory

    Got the same error.
    Check you mariadb version.

    mariadb-dump was introduced on 10.5.
    I was on 10.3.

    In the recent version of wp-cli, its look for mariadb-dump instead of mysql-dump when it deteted mariadb.

    PS : please note that mariadb 10.5 is support until 16 July 2025 (~1 month).
    source : https://endoflife.date/mariadb

  21. swissspidy commented on Jun 5, 2025

    @swissspidy
    Member
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions