Sauvegarde dolibarr erreur/warning avec mariadb v10.6.5

Bonjour,

Une erreur/warning se produit lors d’une sauvegarde de la base de données dans l’interface d’administration dolibarr: « Erreur : WARNING: Forcing protocol to TCP due to option specification. Please explicitly state intended protocol » et la sauvegarde crée un fichier « sauvegarde.sql.err ».

La sauvegarde semble cependant être complète et cette erreur/warning n’est pas liée à dolibarr mais à la version mariadb (v10.6.5) utilisée: en effectuant la même sauvegarde dans un terminal en ligne de commande, j’ai la même erreur/warning.

cette erreur/warning semble provenir de la précision du port utilisé dans la ligne de commande de sauvegarde depuis la version 10.6.1 mariadb. Voici les informations trouvées sur le site mariadb:

How to Specify Which Protocol to Use When Connecting to the mysqld Server

You can force which protocol to be used to connect to the mysqld server by giving the protocol option one of the following values: tcp, socket, pipe or memory.

If protocol is not specified, before [MariaDB 10.6.1], command line connection properties that do not force protocol are ignored.

From [MariaDB 10.6.1], a connection property specified via the command line (e.g. --port=3306) will force its type. The protocol that matches the respective connection property is used, e.g. a TCP/IP connection is created when --port is specified.

En ne précisant plus le port utilisé dans la ligne de commande, plus d’erreur/warning

Bonjour

Ce n’est pas une bonne sauvegarde ça ! C’est un fichier inexploitable.
@+

C’est l’interface dolibarr qui crée le fichier « sauvegarde.sql.err » (en ligne de commande dans un terminal, j’ai juste le warning qui s’affiche dans le terminal). L’erreur n’étant pas une véritable erreur mais plutôt un warning, à mon avis il suffit de renommer le fichier « sauvegarde.sql.err » en « sauvegarde.sql » et on doit retrouver ses « petits » lors d’une restauration de la base de données avec « sauvegarde.sql » . Je n’est pas fait le test mais à mon avis ça fonctionne.

Non ça ne fonctionne pas. Regardez la taille de la sauvegarde, a mon avis elle est microscopique.
@+

Phil,
justement la taille du fichier de sauvegarde est assez conséquente et correspond en gros à la taille de mes sauvegardes précédentes quand je n’avais pas cette erreur/warning. Je ferai le test pour en être sûr.
Olivier

Phil,
En explorant le fichier « sauvegarde.sql.err » généré par dolibarr, j’ai constaté que le message de warning apparaissait en première ligne du fichier. Voici donc ce que j’ai fait:

  • suppression du message warning en première ligne du fichier (sinon il y a une erreur lors d’un import dans une nouvelle base de données)
  • renommage du fichier « sauvegarde.sql.err » en « sauvegarde.sql »
  • création 'une nouvelle base de données « dolitest »
  • import du fichier « sauvegarde.sql » dans « dolitest »
  • modif du php.ini de dolibarr pour pointer vers « dolitest »
  • redémarrage de dolibarr pour prendre en compte les modifs de php.ini

Comme je le pressentais, je retrouve bien mes « petits »

2 « J'aime »

Je reviens sur ce problème qui est bien lié à MariaDB à partir de la version v10.6.x. A partir de cette version MariaDB gère sa gestion de connexion en automatique. Si la paramètre d’hôte a la valeur « localhost », il fonctionne automatiquement en socket d’où le message d’erreur lors de la sauvegarde (programmée ou directe).
Pour forcer la connexion en TCP/IP, il suffit de changer la valeur localhost par 127.0.0.1 dans le fichier de conf de Dolibarr. Le paramètre sera de la forme :

$dolibarr_main_db_host='127.0.0.1';

3 « J'aime »