Extraction des données s'une table MYSQL à distance

cs_machine4 Messages postés 1 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 13 septembre 2010 - 13 sept. 2010 à 09:47
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 - 28 sept. 2010 à 22:38
Bonjour,

Je n'arrive pas à résoudre un problème d'extraction de base de données My SQL.

En faite j'ai un serveur linux ou une base de données mysql tourne avec plusieurs tables.

J'aimerai que sur un poste windows à une heure précide les données d'une des tables de ma base soient extraites en fichier TXT.

Afin d'éviter que je me fasse moi même l'extraction avec my sql CC par exemple.


A creer un fichier bat pour se connecter à distance à la base
A creer la ligne pour extraire les données

Ps : Pas de mysql sur le poste windows.

Pouvez vous m'aider, merci d'avance.

Cordialement.


CB

2 réponses

DDalmont Messages postés 8 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 26 mai 2011
25 sept. 2010 à 17:32
Bonjour

Un début de solution à cette adresse:
http://dalmont.denis.free.fr/pages/71.php

Vous placez quelques script php sur le site pour l'extration des données.

Vous trouverez une partie du code source dans le classeur joint au programme pour l'adapter plutôt à un fichier vbs

Cordialement
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
28 sept. 2010 à 22:38
Salut,


Si j'ai bien compris tu souhaites planifier une extraction automatique des données dans un fichier texte ?

Si c'est bien le cas, tu peux utiliser le cron Linux pour planifiier l'execution d'un script shell (voir crontab -e par exemple http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man5/crontab.5.html)

Puis dans ton script shell, tu peux utiliser le binaire mysql pour procéder à l'extraction.

mysql -h host -u XXX -pYYY  DBNAME -e "REQUETE_SELECTION" > export.txt

Exemple :
----------------------
Serveur : 192.168.0.22
User : root
Passe : azerty
Base : dbdemo
Exporter dans /var/www/ puis fichier export.txt
----------------------

mysql -h 192.168.0.22 -u root -pazerty dbdemo -e "SHOW TABLES;" > /var/www/export.txt

[list]

* host représente le nom ou l'adresse IP de la machine sur laquelle la base de données que vous désirez exporter est installée. Par défaut il s'agit de localhost, c'est-à-dire la machine à partir de laquelle la commande mysql est lancée

* XXX représente l'utilisateur avec lequel vous désirez vous connecter. Par défaut il s'agit de l'utilisateur root

* YYY représente le mot de passe de l'utilisateur avec lequel vous désirez vous connecter. Si vous n'indiquez pas de mot de passe, celui-ci sera demandé de manière interactive. Il ne doit pas y avoir d'espace entre -p et le mot de passe fourni, contrairement aux autres champs

* DBNAME est le nom de la base de données.

* REQUETE_SELECTION est la requête sélectionnant les données à extraire.

* export.txt est le nom du fichier dans lequel la base va être exportée. Si aucun chemin absolu n'est précisé, le fichier sera stocké dans le même répertoire que la commande mysqldump. Attention de ne pas lui donner un nom d'un fichier existant dans ce répertoire !

/list

Il reste à soit partager un dossier dans lequel ton utilisateur à les droits d'accès (via samba par exemple), soit à mettre en place un script php que l'utilisateur appellera pour télécharger le fichier.

++

Zlub
0
Rejoignez-nous