PDA

Voir la version complète : Problème de sauvegarde et restauration de base sous Telnet/SSH


Sophocle
06/01/2004, 02h18
Cette nuit, je me suis battu vainement avec le serveur. Je souhaitais effectuer deux opérations :
- la première consiste à sauvegarder la base du forum et à la dédoubler pour effectuer des tests.
- la seconde revient à lancer une sauvegarde automatique des bases du serveur.

Pour effectuer ces opérations, compte tenu de la taille des bases, il est inconcevable de passer par PHP MyAdmin. C'est ce que je fais actuellement pour les sauvegardes manuelles mais franchement, je trouve ça lourd.
Ne disposant pas de la dernière version de PHP MyAdmin, je n'ai pas pu dupliquer ma base directement.
Je me suis donc tourné vers Linux et les instructions mysql / mysqldump. Mysqldump permet de sauvegarder une ou plusieurs bases dans un fichier. J'ai donc lancé mon dump qui s'est exécuté en quelques dizaines de secondes.
Ensuite, pour créer ma nouvelle base, copie de la première, il suffit d'exécuter la commande mysql et d'envoyer le contenu du fichier généré précédemment dans la nouvelle base.
Seulement voilà ! Au bout de quelques secondes, message d'erreur MySQL 2066. Ca coince avec la table avatars. J'ai essayé je ne sais combien de possibilités différentes pour exécuter mon dump : avec des quotes, des drop tables, en forçant. Idem pour la restauration. Ca coince toujours au même endroit. Même quand je force, MySQL part en vrille.
Pour en avoir le coeur net, j'ai fait une sauvegarde par PHP MyAdmin sur mon PC. J'ai uploadé le fichier et créé une nouvelle base avec ce fichier, toujours avec l'instruction mysql : aucun problème.
Je ne comprends pas d'où cela peut venir. Si l'instruction mysqldump génère des fichiers non restaurables, je vois mal à quoi ça va me servir. Pour les sauvegardes automatisées, j'ai trouvé tout ce qu'il me faut (un petit script facile à installer et toutes les infos sur cron). Quelqu'un aurait-il une piste pour résoudre mon problème ?

Blackos
06/01/2004, 07h18
pour une copy as tu essayer mysqldump --host=host1 --opt basesource | mysql --host=host2 -C basedestiantion ?

Sophocle
06/01/2004, 12h08
Toujours la même erreur :(

Thx1133
06/01/2004, 13h22
C'est quoi exactement le message d'erreur 2066 ?

Blackos
06/01/2004, 16h57
mais c'est la table avatars ou customavatars ?

Sophocle
06/01/2004, 17h24
en fait, c'est ni l'une ni l'autre, je me suis trompé. C'est la table attachment qui pose pb et seulement après un certain nombre d'enregistrements.

Eve_Ra
06/01/2004, 17h30
Alors pourquoi ne passes-tu pas les attachments dans le système de fichiers ? ça marche très bien et ça allège de façon conséquente la DB. Juste à sauvegarder le dossier des attachments par le ftp.

Heu .... pour la Gamma, il y a un correctif à appliquer pour que le système de fichiers fonctionne correctement.

Sophocle
06/01/2004, 18h21
Et je n'ai pas envie de ce machin pour le moment car la sauvegarde, je la trouve moins commode que celle de la base. En tout cas, pas avant la fusion, c'est certain. Le problème que je décris est plus général : comment faire un dump qui fonctionne en dehors de phpmyadmin ? Si j'ai une sauvegarde automatique mais que la restauration déconne, je ne serai pas très avancé.