Comment syncroniser deux bases de données distantes ?

Salut à tous !
Nous venons de creer avec un ami un serveur pour un jeu ! Donc pour assurer le plus de temps possible la connexion, lorsque l’un n’est pas la, c’est l’autre qui fait le serveur.

Nous avons réussi à faire une adresse no-ip commune… mais il nous manque un élément capital ! la syncronisation des deux bases de données.
C’est effectivement embetant que les personnages qui ont joué le matin se retrouve au début du jeu le soir (quand l’hote du serveur à changé).

Donc ma question c’est : Comment syncroniser automatiquement deux bases de données distantes automatiquement, régulièrement… et pourkoi pas un petit tuto ! :slight_smile:

tu peux en dire un peu plus sur le type de serveur ISS, Apache … ainsi que le type de SGBD ? Car là on ne peut pas faire grand chose :ane:

le terme est replication : ça recupère toutes les transactions de la base maître et les replique sur une base esclave…

mais si c une toute petite base (quelque Mo) le plus simple et l’export import…

alors c’est un serveur world of Warcarf ! Je ne saurai vous idre le nom : on utilise un serveur “mangos” qui est sous la forme d’une invite de commande et voila. Ce serveur utilise une base de donnée sous navicat.

Le probleme c’est que la syncro doit avoir lieu dans les deux sens.
maitre et escalve, ya un pb nan ?


ps : je croi que c'est "my sql" (dsl la touche envoyer de l'édition ne marche pas)

ben il faut decider qui est le serveur : du style le premier connecté est le serveur et la replication se fait dans l’un ou l’autr sens…

mais a mon avis le plus simple c quand un serveur stop il exporte sa base dans un endroit commun

quand un serveur start il importe la base…

et comment installer une telle installation quazardous ? où placer le dossier commun ? sur un stockage web ?

merci de ton aide

tutorial peu etre pour base maitre/esclave ou partage dossier commun ???

Navicat, c’est un GUI pour MySQL.
Et mettre en place une réplication sous MySQL, ça vaut pas le coup pour ce que vous voulez faire.

Faites des dumps réguliers (y a des dizaines de tutos sur Internet pour ça), uploadez-les sur un serveur FTP et réimportez-les à chaque lancement du serveur.

merci mandarounet de confirmer ce que je dis :slight_smile:

La solution actuelle qui n’est pas tres…cool c’est que à chaque fois qu’un serveur déconecte, il exporte vers un compte gmail la base de donnée (en faite que les infos pour les persos) et à chaque fois qu’il y a un new serveur, il importe !
Le probleme c’est le temps et le “pratique”.
J’ai entendu serveur ftp ? quésaco ?

GMail ça n’est pas un service de messagerie e-mail ??

Un serveur FTP est un logiciel qui donne accès à un espace de stockage via un réseau (LAN et Internet donc).
En gros, dans ton cas, ça se substituerais à votre compte GMail.

Le probleme avec le compte Gmail (on l’utilise comme espace de stockage, c’est que c’est long d’extraire les bonne fractions de la base de donnée (si on les trouve un jour…), les rassembler sur un message les publier, et faire la meme manip de l’autre coté mais en sens inverse.

Ca prend un temps fou !

On m’a parlé de syncronisation… MON OBJECTIF est : des que l’un des deux serveurs se déconnecte, il exporte vers… un endroit (automatiquement) et quand le un serveur redémarrer, il importe (automatiquement) les nouveaux fichiers !

Meme seulement les fichiers modifiés si vous vouler lol ! possible ?

merci de ton aide :slight_smile:

t’as qu’à utiliser svn pendant que tu y est… à la fin le serveur commit tout, et l’autre update tout… bon ensuite sortir “l’arme nucléaire” pour ça…

Mais c’est exécif de vouloir syncroniser automatiquement !!! ??
Je sais pas mais on dirai que vous vous rendez pas compte à quel point c’est chiant, long et qu’on a pas toujours le temps d’attendre 30 minutes comme des *** à copier, transferer…;

Je sais pas on est en 2007 j’espéré juste que yavait moyen d’automatiser une syncro. Bon apres si vous avez la flemme de m’aider ou de m’expliquer POURQUOI ne pas syncroniser automatiquement à travers un logiciel, pas besoin de vanner un pauvre petit padawan nouveau dans le world of programmation !

Le pov’ p’tit padawan, il a qu’à se renseigner sur les informations qu’on lui a données.
Mettre en place une réplication MySQL c’est long. Si t’as envie de t’y coller, prends-toi un guide d’administration de bases de données et bosse… et si tu as peu de connaissances en bases de données, prépare-toi à bosser LONGTEMPS.

Le passage par un serveur FTP c’est plus simple, mais pas automatique. Tu peux déjà faire un script qui fait le transfert.
Mais là c’est pareil : on ne va pas te donner des cours, renseigne-toi sur FTP. De même pour le script, si tu as quelque chose à nous soumettre, on essaiera de t’aider, mais on n’est pas là pour faire les choses à ta place.

Un padawan, ça met des années à devenir (peut-être) Jedi. T’as de la chance, la programmation c’est plus accessible… mais pas instantané.

Enfin une réponse claire ! lol

donc il faut que je me renseigne sur “réplication MySQL”. Si je n’y arrive pas je fait un script de transfert.
Ok ! au boulot pour “réplication MySQL”.
Mais autre chose : es possible de prendre un serveur FTP comme un dossier Program Files ? Que la base de donnée soit installé sur internet entre les deux PC et ainsi, chaque modification n’a pas besoin de syncro puisque c’est le meme dossier ?

Pour le travail à ma place, je voulai juste qu’on me dise quoi apprendre et pourquoi ! Mais c’est fait !

Pour le jedi lol, ils ont besoin de médicloriens (chose que nous n’avons pas ! snif)
Heureusement, pour la prorammation, il nous faut des neurones (et tout ce qui va avec !!!)
merci

J’en doute. Tiens-nous au courant…

PS : si tu n’as que des fichiers à synchroniser (pas de base de donnée), une solution de sauvegarde incrémentale existe : rsync. Tu peux te renseigner dessus si c’est ton cas.

Hélas c’est une base de donnée (pour serveur : je sais pas si il faut le préciser) qui se met à jour constamment ! chaque seconde de connexion des clients modifi la base de donnée (j’exagere peu etre un pe mais c’est presque ça)

Je vais lire ce petit tuto pour m’initier au coté obscure du MySQL !

jgrondin.developpez.com…

Oui c’est (à mon avis) faisable, mais je croyais que le problème était que vos deux serveurs n’étaient pas en ligne en même temps :neutre:

Le truc c’est que ça ne suffira pas… il vous faut une réplication maître / maître.