WP-CLI wp db SSL error MariaDB Docker – TLS/SSL error SSL is required


Si vous faites du WordPress sous Docker avec WP-CLI et MariaDB, vous avez peut-être déjà rencontré cette erreur en lançant une commande wp db :

Got error: 2026: TLS/SSL error: SSL is required, but the server does not support

Voici l’environnement dans lequel le problème est apparu :

  • WordPress 6.8.3
  • PHP 8.3.27
  • MariaDB 11.8.3 – sans SSL configuré
  • MariaDB Client 15.2
  • WP-CLI 2.12.0
  • OS : debian-linux-gnu x86_64, Docker

Ce qui se passe

Par défaut, WP-CLI utilise --no-defaults pour ses commandes wp db. Ce comportement l’empêche de lire la configuration MariaDB locale et notamment les paramètres SSL. Résultat : le client tente une connexion SSL que le serveur ne supporte pas, et tout explose.

Deux solutions

1. Ajouter --defaults à vos commandes

Cela force WP-CLI à lire la configuration de la base de données au lieu de l’ignorer :

wp db export --defaults
wp db query --defaults "SELECT ..."

2. Désactiver SSL globalement dans la configuration MariaDB

Si vous n’avez pas de SSL configuré sur votre MariaDB et que vous n’en avez pas besoin (ce qui est souvent le cas en environnement Dockerisé local), vous pouvez désactiver SSL globalement en ajoutant ceci à votre fichier de configuration MariaDB :

[client]
ssl=0

Ce fichier est généralement à cet emplacement selon votre configuration : /etc/mysql/conf.d/ ou directement dans votre my.cnf.

Pourquoi --no-defaults est le comportement par défaut de WP-CLI ?

Franchement, je ne sais pas. C’est un choix surprenant qui peut piéger pas mal de monde, surtout depuis que MariaDB 11+ est plus strict sur les connexions SSL. Si quelqu’un a la réponse, je suis preneur en commentaires.


Merci à Florian Perrot pour son aide précieuse sur ce diagnostic. Ce post est tiré d’un message LinkedIn – le genre de truc qu’on aurait aimé trouver sur Google avant de chercher pendant une heure.