Mise a jour MariaDB 5 vers 10 [Resolu]

,

Hello,

Super ta procédure mais je corrigerais 2/3 choses :

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

  2. 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

MariaDB5

MariaDB10
image

J’ai donc fait comme ceci :

  1. Login SSH sur le Synology

  2. 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

  3. 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
  1. Modification des fichiers de configuration à la DB (htdocs > Conf > conf.php)
    Adaptation du port 3306 vers 3307 comme dans ta procédure

  2. Modification du socket dans Web Station comme dans ta procédure

Mais ensuite, impossible pour Dolibarr de se connecter à la DB

  1. Se connecter dans PHPMyAdmin sur MariaDB10
  • 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 »
    image

– Inscrire un mot de passe répondant aux exigences (10 caractères, majuscule, minuscule et symbole)

Je peux enfin me reconnecter sur PHPMyAdmin

1 « J'aime »

Bonjour merci pour les precisions, mais, wow, c’est complique!

  1. J’ai mis a jour avec le texte correct, merci.
  2. 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 :slight_smile:

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!

Pas forcément mais a mon avis lié à ceci

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

Mon script de backup

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

Ensuite, j’ai ce genre de tâche sur mon synology

C’est effectivement sans doute mon probleme!

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?

C’est super que tu partages ca, justement ca fait partie des points que je voulais absolument regler avant de basculer completement vers Dolibarr!

Je vais essayer aussi, et pareil partager dans la FAQ.

on est ici pour partager :wink:

1 « J'aime »

par curiosité, qu’est ce qui bloque ?

Dans dolibarr, je n’ai pas vu (ca existe peut-être maintenant) le moyen de faire un backup quotidiennement
Perso j’en fais 4 par jour et ça m’a déjà bien servi :wink:

Chez moi, 4 x jours sur 3 ans, ça prends 380 mega donc aucun soucis

Hello,
j’essaie de resoudre mon pb avec les elements que tu m’as donne, mais je ne sais pas ou trouver le script qui lance la sauvegarde de la BDD, ni comment faire pour adapter ton script a ma situation, j’obtiens le message d’erreur suivant:

Task: Dolibarr_daily_backup
Start time: Fri, 29 Jan 2021 22:51:34 GMT Stop time: Fri, 29 Jan 2021 22:51:36 GMT Current status: 0 (Normal) Standard output/error:
/volume1/web/dolibarr/scripts/admin/backup_dolibarr.sh: line 2: $’\r’: command not found
mysqldump: Got error: 1045: « Access denied for user ‹ root ›@‹ localhost › (using password: YES) » when trying to connect
/volume1/web/dolibarr/scripts/admin/backup_dolibarr.sh: line 9: $’\r’: command not found Scanning
Creating archive /volume1/web/dolibarr/documents/admin/backup/2021-01/2021-01-29_225135_dolibarr.7z
Total: 0
Everything is Ok
/volume1/web/dolibarr/scripts/admin/backup_dolibarr.sh: line 18: $’\r’: command not found

Est-ce que tu sais a quoi ca peut etre lie?

Sur ton NAS, le fichier .SH doit avoir les droits d’exécution (le x dans « -rwxrwxrwx »)
image

Tu as un access denied dans ta première erreur

/volume1/web/dolibarr/scripts/admin/backup_dolibarr.sh: line 2: $’\r’: command not found
mysqldump: Got error: 1045: « Access denied for user ‹ root ›@‹ localhost › (using password: YES) » when trying to connect

Tu dois utiliser le login/pass du compte administrateur de la base de donnée dolibarr pas l’utilisateur de ton NAS

Hello, j’ai enfin trouve comment faire le backup en utilisant l’interface de Dolibarr (il y a un champ pour renseigner l’adresse de la DB et mettre a jour de MariaDB5 vers 10 comme tu disais), un grand merci et j’ai mis a jour aussi la FAQ sur le Wiki - et enfin pu faire la mise a jour vers Dolibarr 13.0 :slight_smile:

Par contre je n’arrive pas a comprendre comment donner les droits d’execution a mon fichier .SH, désolé encore une question très basique mais peux-tu expliquer comment on fait ou ce que c’est que les droits d’execution?

Bonjour,

petite question intermédiaire:
est ce que ça vaut la peine? J’ai des plaintes de vitesse d’exécution du VPN sur un 218j, qui est bridé à 512MB Ram… mais il paraît que même sur les modèles 1GB le 7.0.1 (qui exige officiellement 1 GB) occasionnerait des pertes de vitesse ? Votre expérience ?

Cordialement
Christo

Bonjour,

pour moi sur un 218play à 1gb de ram le passage vers la version 10 de Maria a apporté un gain de vitesse modéré mais réel.
Après ce n’est que mon exemple. Je pense que c’est mieux de passer au DSM 7, notamment parce que la sécurité du NAS est renforcée; que l’application Photos en vaut la peine.

Bon courage à vous.

Merci @ben-tpe.

comme 1GB est officiellement la recommandation de config minimale du DSM 7, je cherche un retour d’experience de ceux qui seraient passés outre en 512Mb…

Nous n’utilisons pas de photos, mais la sécurisation du RAID et la vitesse des bases sont des atouts importants.

Cependant je constate aussi curieusement, que le délai d’exécution des taches Dolibarr est différent selon les machines qui se connectent par VPN !? (je suis preneur d’une explication).

Bonne journée
Christo

D’accord je comprends. Je ne peux pas t’aider alors désolé ^^ Pour moi j’utilise une connexion VPN et pas de différence notable de vitesse avec une connexion normale.

1 « J'aime »

Bonjour
C’est effectivement une « petite » configuration.
Tournez vous plutôt vers un forum Synology pour avoir des conseils éclairés sur ce sujet.
Ici on essaye de rester chez Dolibarr.
@+

Bonjour,

malgré le respect que je dois à vos nombreuses remarques constructives, celle-ci me parait un peu gratuite.

Cordialement,
Christo