Aide - Recherche - Membres - Calendrier
Version complète : Copie de base de donnée MySQL
Forum PC INpact > Systèmes, logiciels et lignes de codes > Programmation et Création web > Création Web (HTML/CSS, PHP, Apache...)
Arofarn
Salut,


J'essaie de faire un script bash qui génère automatiquement une copie d'un Wiki sur une clé USB (merci EasyPHP).
Le principe que j'ai retenu est un script bash lancé une fois par jour par cron et qui met à jour le Wiki téléchargeable.
Je pense faire aussi un petit script qui fasse l'inverse (extraire les données de la clé USB pour les réinjecter dans un serveur LAMP)

Le serveur est sous Debian GNU/Linux, mais je peux rien installer dessus (hébergement mutualisé).

Pour la copie des fichiers aucun problème.

Par contre, pour la base MySQL, problème:
  • j'arrive à faire une sauvegarde avec la commande mysqldump sans soucis
  • je ne peux pas lancer le MySQL de la clef pour faire un mysqldump.exe pour réimporter les donée
  • je n'arrive pas à faire une copie exploitable (ensemble de fichiers *.frm, *.opt, *.MYP, *.MYI) pour la clé
  • le user et le nom de la base MySQL sont différents sur le serveur hébergé et le serveur local de la clé USB (ça joue peut-être)
Je suppose qu'il y a un truc que je ne connais pas zarb.gif et je galère....


Je ferais un petit tuto pour un WikiUSB près à télécharger quand j'aurais fini.
Arofarn
Je suis en train de me demander si j'ai poster dans la bonne section...


Si un modo passe par là, il peut déplacer vers "Programmation et création Web" chinese.gif
tuXXX
Ok c'est parti
Arofarn
Merci bien tuXXX


J'espère que quelqu'un aura la réponse up.gif
Mandor
Alors si j'ai bien tout compris, t'arrives bien à faire un dump de ta base de données avec mysqldump mais pas à le réimporter ensuite sur un autre serveur ?

Si c'est bien ça ton problème, alors c'est simple. La commande pour importer va ressembler à ça :
CODE
mysql --user=mon_login --password=mon_mot_de_passe --database=ma_table < /chemin/vers/mon/fichier.sql

Et hop.

Ah oui, note que tu pourrais aussi copier ta base de données en plaçant les fichiers .frm, .MYD et .MYI correspondants aux tables à transférer dans le répertoire data/mabase du serveur cible, mais après avoir fait ça il faut impérativement reconstruire la base en exécutant une requête "REPAIR TABLE" sur chaque table.

Cela dit le plus propre ça reste quand même d'importer un dump, la méthode ci-dessus ne sert généralement qu'en cas de gros massacre quand on n'a qu'une sauvegarde des fichiers pour restaurer un serveur qui a explosé.
Arofarn
Si j'ai bien compris MySQL, pour lancer une commande "mysql" ou "mysqldump", il faut que la base de données en question tourne... ce qui n'est pas le cas (base de donnée en "sommeil" dans un répertoire), en plus la version qu'il y aura sur la clef USB est une Win32 et le serveur sur lequel j'exécute le script est une Debian.

Ensuite, je n'ai pas accès aux fichiers originaux .frm, .MYD ... car ils ce situent sur un serveur dédié chez mon hébergeur. MySQL server est protégé par un système de parefeu et accéssible seulement par les serveurs Web hébergés chez eux. Impossible d'accéder depuis chez moi directement au serveur MySQL.

La seule solution que j'entrevois se ferais en 2 étapes:
1- un script de sauvegarde de base sur le serveur héberger (script déjà réaliser à 95% manque juste un petit débug)
2- un script chez moi qui récupère la sauvegarde, "organise" la clé, lance MySQL Win32 dans un émulateur ou autres (Wine ???) pour importer le dump MySQL sur la base de la clef, créer l'archive et upload le résultat sur le serveur Web

outch !!! icon_mrgreen.gif

Si c'est le cas, il va falloir que je me replonge dans un bon paquet de doc... (ça me fera pas de mal en fait).

En fait je pensais qu'il y aurais moyen d'importer un dump sans lancer le serveur MySQL cible...


Nota:
- pas question pour moi de faire le moindre script pour Windows ni d'installer un Windows pour ça
- peut-être faisable avec PHP mais j'ai un niveau qui tend vers zero (Python ??? je tend vers 0.001 c'est mieux !!!)
Arofarn
Un dernier UP avant bricolage du dimanche up.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.