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
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.
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 »
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 :