j’utilise Dolibarr sur un NAS Synology. Je dois faire la mise a jour de MariaDB 5 vers 10 en prevision de la mise a jour du DSM Synology en version 7 (il sera incompatible avec MariaDB 5).
Mais je ne sais pas comment « acter » la transition dans Dolibarr, et n’ai rien trouve a ce sujet dans le forum.
-Quand sans rien toucher d’autre je deconnecte MariaDB5 et ne laisse que MariaDB10 avec la BD clonee je ne peux plus me connecter.
-Quand dans le fichier php.conf je change le port en 3307 (celui de MariaDB10), meme si MariaDB5 est sur 3306, je peux toujours me connecter, et dans la page « about Database » de Dolibarr, je vois que je suis connecte avec MariaDB5 sur le port 3307.
Voici le message d’erreur que j’obtiens:
DolibarrHasDetectedError.
InformationToHelpDiagnose: Date: 20210103133144 Dolibarr: 12.0.2 - https://www.dolibarr.org PHP: 7.3.16 Server: nginx/1.16.1 OS: Linux DS218play 4.4.59+ #25426 SMP Tue Nov 24 17:17:37 CST 2020 aarch64 UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
Finalement, j’ai trouve la solution (pas peu fier hehe).
Il faut mettre a jour les donnees du PHP en remplacant l’adresse de la DB de Maria 5 par Maria 10.
Je pense que cet article devrait etre mis a jour dans le Wiki ou un autre endroit ou il soit facilement accessible, car le nouveau DSM Synology va sans doute pousser pas mal de monde a upgrader Maria de 5 vers 10.
D’ou ma question: comment faire si on veut ecrire un article pour aider la communaute et qu’il soit accessible facilement?
Bonjour,
J’ai créé un compte pour le wiki, mais je n’arrive qu’à éditer des pages existantes. Pourriez vous me dire comment faire pour créer une nouvelle page (a l’intérieur de la FAQ en Français)? Désolé si c’est une question stupide ^^
Le fonctionnement de MediaWiki est un peu déroutant…
Pour crée une page il faut rechercher le titre de la page, si elle n’existe pas alors il va te proposer de la crée.
Pour que ça apparaisse dans la liste de la FAQ il faut mettre ça en tête :
Super merci! J’ai ecrit mon premier article sur un Wiki grace a vos explications
Le seul probleme c’est que les captures d’ecran sont un peu bancales, mais sinon j’espere que ca pourra aider des dolibarriens
Super ta procédure mais je corrigerais 2/3 choses :
Petite erreur de retranscription au début, tu indiques « /run/mysqld10.sock dans mon exemple » alors que c’est « /run/mysqld/mysqld10.sock dans mon exemple »
Après exportation de la DB Maria 5 et importation dans Maria 10, ça ne fonctionnait pas chez moi. j’ai remarqué que les utilisateurs de la table USERS n’avait pas été exporté, peut-être une erreur de ma part mais je n’ai vu aucune option pour les exporter dans la fonction « export » en tant que telle.
J’ai plusieurs Dolibarr qui tournent sur le même Synology et donc autant de DB que de Dolibarr
Export de toutes les DB de MariaDB5 vers un fichier SQL via la commande suivante :
– utilisateur ROOT (-u root)
– demande du mot de passe (-p)
– toutes les DB (–all-databases)
– port 3306 pour MariaDB5 (-P 3306)
– localisation du fichier exporté (–result-file=/volume1/web/backup.sql)
La commande donne donc ceci :
/usr/bin/mysqldump -u root -p --all-databases -P 3306 --result-file=/volume1/web/backup.sql
Import des DB dans MariaDB10 via la procédure suivante :
Comme il existe 2 instances de MariaDB il faut bien faire attention a utiliser le MySQL de MariaDB10
Se rendre dans le répertoire de MariaDB10 via la commande:
cd /usr/local/mariadb10/bin
Lancer la restauration du fichier SQL vial la commande :
– utilisateur ROOT (-u root)
– demande du mot de passe (-p)
– port 3307 pour MariaDB10 (-P 3307)
– localisation du fichier importé (< /volume1/web/backup.sql)
La commande donne donc ceci :
./mysql -u root -p -P 3307 < /volume1/web/backup.sql
Modification des fichiers de configuration à la DB (htdocs > Conf > conf.php)
Adaptation du port 3306 vers 3307 comme dans ta procédure
Modification du socket dans Web Station comme dans ta procédure
Mais ensuite, impossible pour Dolibarr de se connecter à la DB
Faire un flush des privilèges (sans cette étape, mon dolibarr refusait de se connecter à la DB)
Par contre après avoir fait un flush des privilèges, impossible de me reconnecter avec mon user ROOT car celui-ci avait un mot de passe de 8 caractère et MariaDB10 impose un mot de passe de 10 caractères minimum avec Majuscule, Minuscule, Chiffre et Symbole.
Changement du mot de passe ROOT de MariaDB10, dans Synology DSM :
– Ouvrir le Package MariaDB10
– Cliquer sur « Reset root password »
– Inscrire un mot de passe répondant aux exigences (10 caractères, majuscule, minuscule et symbole)
Bonjour merci pour les precisions, mais, wow, c’est complique!
J’ai mis a jour avec le texte correct, merci.
J’hesite un peu a mettre a jour avec vos infos, car c’est deja du niveau avance, si vous etes capable de mettre a jour tout ca vous n’avez sans doute pas besoin de la FAQ non? Pour moi je suis au niveau tres debutant, du coup je me demande s’il ne serait pas possible de faire la meme chose que vous avez fait, mais en passant par l’admin de myphp, ie en recreant simplement les utilisateurs a l’identique? Ce serait plus facile pour des debutants comme moi
Le problème c’est si le utilisateurs ne sont pas créé, c’est de voir si les privilèges ont bien été appliqué sur les DB
Si ce n’est pas le cas, créer les utilisateurs manuellement ne marchera pas car ils n’auront aucun droits
Hello @eljub je retrouve ton probleme car je me rends compte qu’apres etre passe a MariaDB10, j’obtiens un message d’erreur au moment de construire le database dump file.
Error : Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.
est-ce que ce ne serait pas lie au probleme que tu decris? Si oui je vais me plonger dans ta procedure et essayer de faire la meme chose puis mettrai a jour mon article!
MariaDB5, le fichier exécutable mysqldump était localisé ici : /usr/bin/mysqldump
MariaDB10, le fichier exécutable mysqldump est localisé ici : /usr/local/mariadb10/bin/mysqldump
Donc il te faut peut-être modifier ce paramètre
Moi j’ai créé un script pour faire mes dumps que je lance depuis une tache planifiée de mon synology car ce n’est pas possible ou je n’ai pas trouvé le moyen d’automatiser les backup dans dolibarr
J’ai un fichier « backup_dolibarr.sh » avec ce contenu
# Script to dump the Dolibarr DB
# Dump the DB (replace user and password with your own dolibarr DB access)
# -h is the system to run the script
# -u is the DB user allowed to dump the DB
# -P is the poort on the DB
# -p is the password of the user allowed to dump the DB
/usr/local/mariadb10/bin/mysqldump dolibarr -h localhost -u <user> -P 3307 -l --single-transaction --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 -p"<password>" --result-file=/volume1/web/dolibarr/documents/admin/backup/backup.sql
#Compress the dump to a location split by year-month in format YYYY-mm/YYYY-mm-dd_HHMMSS
# YYYY is year number on 4 digits
# mm is month number on 2 digits
# dd is day number on two digits
# HH is hour number on two digits
# MM is minute number on two digits
# SS is second number on two digits
7z a /volume1/web/dolibarr/documents/admin/backup/$(date +%Y-%m)/$(date +%Y-%m-%d_%H%M%S)_dolibarr.7z /volume1/web/dolibarr/documents/admin/backup/backup.sql
#Remove the dump because the zip file has been created
rm -rf /volume1/web/dolibarr/documents/admin/backup/backup.sql
Le systeme me dit: Backup has been launched with the following command:
/usr/bin/mysqldump dolibarr -h localhost -u root -P 3307 -l --single-transaction --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 -p"************"
d’ou ma question tres basique: comment faire pour indiquer le bon chemin de sauvegarde?