Restauration base de données

Bonsoir à tous,

Je suis un nouvel utilisateur de DoliWamp et j’essaie de me familiariser avec cet outil qui me parait très complet.
Bravo à tous les développeurs!!!
Mais, mais, mais…
Je cale lorsque je tente une restauration de la base de données.
Il est inscrit:

Import MySql
Pour importer une sauvegarde, il faut utiliser la commande mysql en ligne suivante:
mysql dolibarr -h localhost -P 3307 -u dolibarrmysql -p******** < monfichierbackup.sql

Afficher commande réelle avec mot de passe en clair:
mysql dolibarr -h localhost -P 3307 -u dolibarrmysql -pchangeme < monfichierbackup.sql

Que dois je faire à partir du fichier de sauvegarde suivant?
mysqldump_dolibarr_200911091157.sql

J’avoue que je n’entrave que couic à tout celà, je ne suis qu’un pauvre utilisateur de base de Windows XP…

Alors si je pouvais avoir un tuto pas à pas… cela m’arrangerait beaucoup.

A bientôt j’espère…

Tu ouvres une fenetre dos et tu tapes
mysql dolibarr -h localhost -P 3307 -u dolibarrmysql -pchangeme < mysqldump_dolibarr_200911091157.sql

(il faut avant aller dans le rep ou se trouve la commande mysql)
S’il y a des amateurs pour décrire cette étape sur la page wiki
http://wiki.dolibarr.org/index.php/Restaurations

Merci eldy pour ton début de réponse.

Pour la fenêtre dos, je passe donc par : démarrer, tous les programmes, accessoires, invite de commande.
Jusque là ok.
Si je tape : mysql dolibarr -h localhost -P 3307 -u dolibarrmysql -pchangeme < mysqldump_dolibarr_200911091157.sql
Alors message me disant : Le fichier spécifié est introuvable.

Normal je pense puisque je ne sais pas exécuter ce que tu me demandes :

Si quelqu’un pouvait donc me décrire les actes à exécuter auparavant…

je me noie… besoin de quelqu’un qui me sorte de l’eau…!

il faut se placer dans le repertoir ou se trouve la commande mysql:

sur une install par defaut de doliwampe ca se trouve « C:\dolibarr\bin\mysql\mysql5.0.45\bin »
donc dans l’invitee dos tu tape : cd C:\dolibarr\bin\mysql\mysql5.0.45\bin
ce qui t’emmene directement et maintenant tu peut taper ce qui decrit plus haut

Il faut aussi que tu place le fichier de sauvegarde dans ce meme répertoire avant de lancer la commande.

Merci Talal & Eldy de revenir vers moi!

Mais si je suis vos directives, voici le message d’erreur que j’obtiens systématiquement:

C:\dolibarr\bin\mysql\mysql5.0.45\bin>mysql dolibarr -h localhost -P 3307 -u dol
ibarrmysql -pchangeme < mysqldump_dolibarr_200911091157.sql
ERROR 1044 (42000) at line 40: Access denied for user ‹ dolibarrmysql ›@'localhost
’ to database ‹ dolibarr ›

Une idée?

david écrit:

Bonjour,

Essaie de taper:

C:\dolibarr\bin\mysql\mysql5.0.45\bin>mysql -u dolibarrmysql -pchangeme

Si tu obtiens un prompt:
mysql>

tape:
mysql>show databases;

ensuite:
mysql>quit

Et dis ici ce que tout ça donne.

Bonsoir Yves,

je rencontre exactement le même problème pour une restauration sous un dolibarr 2.6.1 et sous environnement windows 7.
J’ai donc tenté votre manipulation, j’obtiens les messages suivants :
- après saisie de la commande mysql>show databases : j’ai une colonne avec database puis verticalement => information_schema, dolibarr, mysql. Puis message : 3 rows in set (0.00 sec)
- ensuite je saisie quit , il me dit bye.

Je retente ma commande pr la restauration et même message, accès refusé, erreur 1044…

Je pense que tous ces problèmes sont liés aux droits users mais je ne sais pas comment contourner cela.

Si vous avez une idée, je suis preneur…

Cordialement.

Gregory

Personne ne rencontre ce même problème ?

up !

un petit coup de main de Eldy ou Regis serait super sympa…

GREG écrit:

Bonjour,

Après un essai d’installation fraiche de doliwamp 2.6.1 sur windows xp, j’arrive à reproduire le problème (sans effort particulier!).

Voici comment j’arrive à faire une restauration (très peu testée).
Attention, je suis loin d’être certain qu’il n’y a pas un lézard.
Donc, ne pas faire en production jusqu’à plus ample informé.
Juste bon pour des tests.

Dans le répertoire C:\dolibarr\bin\mysql\mysql5.0.45\bin, faire une copie de mysqldump_dolibarr_200911091157.sql (ou comme elle s’appelle) et la renommer en a.sql (pour simplifier la suite).

Dans ce répertoire, dans une fenêtre de commande DOS, taper:
mysql -u dolibarrmysql -p
taper le mot de passe: changeme
mysql> use dolibarr;
ne pas oublier le point-virgule, en cas d’oubli, on peut le mettre sur une des lignes du dessous.
mysql> source a.sql;
mysql> quit;

il s’affiche des erreurs 1044, mais ça ne semble pas affecter la restauration (sans garantie).

pour en apprendre plus:
mysql> help
ou chercher « Administration de mysql » sur le web
ou se servir de phpmyadmin (je connais mal)

Si en production, attendre des avis de plus qualifiés que moi.

Néanmoins, je confirme que le problème est reproductible.

Mes deux centimes.

bonsoir,
je te donne deux méthodes
La premiere:
(on suppose que la base de données existe peu importe si elle contient des données ou pas)
- ouvre ton navigateur de fichier (explorateur de fichier) et va dans ton repertoire d’installation de dolibarr,
- cherche le dossier conf
- ouvre le, tu va trouver un fichier nommé conf.php
- ouvre ce fichier avec un editeur de text (notepad par exemple)
- cherche les trois valeur suivante:
$dolibarr_main_db_name=« xxxx »;
$dolibarr_main_db_user=« yyyy »;
$dolibarr_main_db_pass=« zzzz »;

(dans mon cas, xxxx=dolidevtn, yyyy=myself et zzzz=mypass135)

note bien les trois valeurs et va sur demarrer/executer/cmd
- tappe : cd C:\dolibarr\bin\mysql\mysql5.0.45\bin
- lance cette commande et remplace les xxxx,zzzz,yyyy par tes valeurs a toi:
mysql xxxx -h localhost -P 3307 -u yyyy -pzzzz < mysqldump_dolibarr_200911091157.sql

deuxieme méthode:
- avec ton navigateur va dans ce repertoire:
C:\dolibarrt\apps\phpmyadmin3.2.0.1
tu devra trouvez un fichier nomé config.inc.php
ouvre le avec un editeur de text et supprime son contenu,
met les text suivant
— debut du text ne pas inclure dans la copie----

<?php $cfg['blowfish_secret'] = 'nimportkoi'; $i = 0; $i++; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'changeme'; $cfg['Servers'][$i]['AllowNoPasswordRoot'] = true; $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = ''; $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; ?\> -----\- fin du fichier ne pas inclure lors de la copie ---- ouvre ton navigateur et tappe cette adresse: http://localhost/phpmyadmin/ dans la barre de gauche choisi ta base dolibarr va dans sql (c'est dans la bare en haut) ouvre ton fichier de sauvegarde et copie son contenu en entier, colle le dans la partie sql et tclick sur executer et voila

Un grand merci a vous Yves, votre procédure semble effectivement fonctionner également de mon coté.
Je suis surpris, peu de personnes semblent bloquées par ces problèmes de restauration.
Vous déconseillez cette méthode de restauration en production ? Elle ne vous semble pas fiable ? Je demande car je suis utilisateur en production justement et je dois formater le poste en question…

Merci de votre avis.
Cordialement.

Bonsoir,

J’ai tenté vos 2 méthodes sans succès.
La 1ere permet de vérifier le nom de la base, le user et le mdp.
L’installation d’origine ayant été faite par défaut, je me suis retrouvé a saisir la même commande que celle posant problème.
J’ai simplifié le nom du fichier sql afin d’éviter les erreurs de saisie.
Même résultat : erreur 1044…

Pour la 2nde méthode, je n’ai pas pu aller jusqu’au bout.
Je trouve bien le répertoire phpmyadmin, par contre je n’ai pas la même version (phpmyadmin2.10.1, je ne sais pas si ça peut jouer),
Ensuite je trouve bien mon fichier config.inc, je l’ouvre, je supprime et je copie-colle comme demandé.
Jusque la tout va bien, par contre lorsque je veux lancer localhost/phpmyadmin/, il me lance le navigateur internet et me dit impossible d’afficher la page…, enfin je pense que le logiciel phpmyadmin ne ne lance pas.

et je bloque ici.

Merci encore pour vos recherches.

bonjour,
si vous visitez ce lien http://localhost/
votre navigateur vous affiche quoi exactement?
Merci

GREG écrit:

après réflexion, je pense qu’elle est sans risque.
Mais je suis un amateur, et à ce titre je ne veux pas risquer de
mettre dans la panade un utilisateur en production.

Récapitulation:

Problème:
sur winxp, avec doliwamp 2.6.1, la procédure de restauration utilisant
la ligne de commande:

mysql mabase -h localhost -u databaseuser -pdatabasepass <
monfichiersauvegarde.sql

soit dans notre discussion:

mysql dolibarr -h localhost -u dolibarrmysql -pchangeme <
monfichiersauvegarde.sql

ne marche pas. En effet, on obtient le message d’erreur:
ERROR 1044 (42000) at line 43: Access denied for user
‹ dolibarrmysql ›@‹ localhost › to database ‹ dolibarr ›

Analyse et solution:
Or qu’a-t-on line 43?:
on a ceci:
LOCK TABLES llx_accountingaccount WRITE;

En clair, notre user a un problème de droit « LOCK TABLES ».
Je pense que ce problème de droit est responsable des messages
d’erreur lors de la procédure décrite dans mon message précédent, mais
que ces messages d’erreur sont sans conséquence pratique.

Néanmoins, pour les faire disparaitre:

mysql -u root -pchangeme mysql

mysql> GRANT LOCK TABLES ON dolibarr.* TO dolibarrmysql@localhost
IDENTIFIED BY ‹ changeme ›;
mysql> quit;

mysql dolibarr -h localhost -u dolibarrmysql -pchangeme <
monfichiersauvegarde.sql

marche désormais.

(Alternative:
mysql> source monfichiersauvegarde.sql;
mysql> quit;
)

Ensuite, pour remettre les droits comme avant:

mysql -u root -pchangeme mysql

mysql> REVOKE LOCK TABLES ON dolibarr.* FROM dolibarrmysql@localhost
IDENTIFIED BY ‹ changeme ›;

yves97 écrit:

Pardon. Alternative:

mysql -u dolibarrmysql -pchangeme dolibarr
mysql> source monfichiersauvegarde.sql;
mysql> quit;

Ou encore:
mysql -u dolibarrmysql -pchangeme
mysql> use dolibarr;
mysql> source monfichiersauvegarde.sql;
mysql> quit;

ce problème de droit a dû être réglé en 2.7

Bonjour shelhatem ,

Desolé pour le delai de reponse …

Lorsque je clique sur votre lien , j’obtiens sous Firefox le message suivant :

La connexion a échoué

  Firefox ne peut établir de connexion avec le serveur à l'adresse localhost.

    


    
    


\*   Le site est peut-être temporairement indisponible ou surchargé. Réessayez plus
      tard ;

\*   Si vous n'arrivez à naviguer sur aucun site, vérifiez la connexion
      au réseau de votre ordinateur ;

\*   Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy,
      assurez-vous que Firefox a l'autorisation d'accéder au Web.

Ca fait comme si je tentais de lire une page sur internet en ayant éteint mon modem …