IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Synchronisation de deux bases de données


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2016
    Messages : 28
    Par défaut Synchronisation de deux bases de données
    Bonjour,

    J'aimerais savoir si ce que je souhaite faire est possible.

    Sur le serveur A j'ai plusieurs table (table1, table2, table3,...)
    Sur le serveur B j'ai exactement les mêmes tables (table1, table2, table3,...)

    Dans chacune des tables, j'ai un champ user_id, les autres champs ont peu d'importance

    J'aimerais, de façon automatique, que lorsque qu'une table est mise a jour, par exemple lorsque 1 ligne est insérée et que le user_id de cette ligne correspond au user_id 23 par exemple, que cette ligne s'ajoute également dans la table correspondante du serveur B.

    En gros une réplication en temps réel (enfin a peu près) de données du server A vers le serveur B.

    D'avance merci

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 877
    Par défaut
    Salut Anleclerc.

    Sous MySql, il existe le concept de Master/Slave, mais je ne l'utilise pas.
    Votre serveur B sera le Slave et le serveur A, le master. C'est ce que l'on nomme de la réplication.

    Sinon, vous pouvez utiliser des déclencheurs (trigger) pour faire par vous-même votre propre réplication.
    A lire : https://dev.mysql.com/doc/refman/5.7/en/triggers.html

    @+

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2016
    Messages : 28
    Par défaut
    Bonjour Artemus,

    J'avais vu pour le master / slave, mais toucher à la conf n'est pas le mieux pour moi n'ayant pas accès à la totalité de celle-ci.

    Le trigger dans une pro stock pourrait faire ce que je veux, par contre je ne n'ai pas trouvé à quel moment on doit indiquer la connexion à la seconde base sur le serveur B.

    Ne devrait-il pas y avoir à un moment la données de host/login/password et peut être schéma quelque part ?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2016
    Messages : 28
    Par défaut
    Ok je pense avoir trouvé il faudrait que je modifie la table du serveur A :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE [db_A].[table_A] ENGINE=FEDERATED
    CONNECTION='mysql://[host_B]/[db_B]/[table_B]';

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2016
    Messages : 28
    Par défaut
    Je n'arrive pas trouver comment rentrer le user et login de la connexion au serveur B, quelqu'un aurait une piste.

    En local tout marche bien par contre

  6. #6
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 877
    Par défaut
    Salut anleclerc..

    Je n'utilise pas "engine=federated" car je fais tout en local. Donc difficile de t'aider.

    Tu peux te référer à la documentation officielle de MySql, pour quelques exemples !
    --> http://dev.mysql.com/doc/refman/5.7/...ge-engine.html
    --> http://dev.mysql.com/doc/refman/5.7/...onnection.html

    --> http://www.sqlpac.com/referentiel/do...-federated.htm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ENGINE=FEDERATED
    CONNECTION='scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name'</table_name>
    Il faut se méfier des didacticiels à deux balles. La plupart sont truffés d'erreurs car ils n'ont pas été testés.

    @+

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2016
    Messages : 28
    Par défaut
    Yes, j'avais trouvé par la suite mais oublié de l'indiquer dans le topic.

    ça fonctionne très bien

    Merci de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/11/2011, 15h09
  2. Synchronisation entre deux bases de données
    Par kimTunisia dans le forum Administration
    Réponses: 0
    Dernier message: 30/07/2011, 11h05
  3. Synchronisation de deux base de données (dont un base SQL Server 2000)
    Par Messie dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 27/02/2009, 09h32
  4. synchronisation entre deux bases de données via un webService
    Par débutant_C# dans le forum Services Web
    Réponses: 3
    Dernier message: 09/05/2008, 23h19
  5. [MySQL] Synchronisation de deux base de données
    Par Asmodean dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 17/04/2007, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo