2010-04-16 2 views
0

J'ai une application Web qui est censée être exécutée sur une machine locale unique (affichage kiosque), mais je souhaite que l'utilisateur puisse effectuer des changements sur le Web (à partir de n'importe quel PC) et mettre à jour l'instance sur leur PC local (affichage kiosque). D'après ce que j'imagine, l'instance MySQL sur le serveur web va juste remplacer l'instance MySQL sur la machine locale (affichage kiosque). Cela peut être fait une fois par nuit (ne doit pas être instantanée).Comment - Sauvegarde et restauration automatiques de la base de données MySQL du serveur Web vers la machine locale

Est-ce que quelqu'un connaît un moyen de le faire? Je suis ouvert à un produit ou le coder moi-même ...

J'apprécierai n'importe quelle information ou remue-méninges.

Merci.

Répondre

0

Si les clients ont des IP fixes, vous pouvez le faire:

  • Créer des comptes d'utilisateur mySQL sur le serveur, laissez-les se connecter à partir d'une plage IP seulement, leur donner SELECT privilèges

  • Installer les binaires client MySQL sur PC client

  • Utilisez cron ou le Planificateur de tâches Windows pour faire une mysqldump à distance:

    mysqldump -u username -h remote.server.com databasename > dump.txt 
    mysql -u local_username -h localhost databasename < dump.txt 
    

ce n'est pas une solution parfaite - le consensus habituelle est d'avoir mySQL pas accessible depuis l'extérieur du tout. Mais si vous avez des adresses IP fixes, et que vous pouvez également ajuster le pare-feu pour ajuster les connexions mySQL uniquement à partir de ces adresses IP, c'est sûrement la solution la plus simple.

Une solution plus sûre pourrait être:

  • Utilisez un langage de script côté serveur pour construire la base de données de vidage localement et le stocker dans un répertoire connu

  • Installer wget binaires côté client

  • Demander au côté client wget d'appeler le script côté serveur (par exemple, en tant que page Web) qui crée la sauvegarde

  • Lorsque la page a fini de télécharger (= le vidage est terminé), commencez un autre wget, en vous connectant au serveur (avec des droits très limités bien sûr) et en récupérant la sauvegarde de données que vous venez de créer. sftp ou scp/ssh. Putty possède des binaires Windows à cette fin.

+0

Merci Unicron. C'est une bonne information, j'apprécie vraiment l'info. Je vais prendre une pause à votre option «plus sûre». – Rhepungus

Questions connexes