Pages : 1
#1 Le 05/03/2014, à 01:46
- TurBino
Réplication Mysql
Bonjour,
J'ai mis en place une réplication Mysql Master/Slave sur deux serveurs LAMP.
Le tous fonctionne parfaitement. Mes serveurs apache/php utilisent l'adresse du Master pour accéder aux bases, mais je constate (via la commande ps) que seul le serveur Mysql sur Master travail.
Ma question est la suivante :
Master ne devrait t'il pas garder les requêtes d'écriture pour lui et transmettre les requêtes de lecture sur Slave ?
Cordialement,
Hors ligne
#2 Le 05/03/2014, à 15:54
- pires57
Re : Réplication Mysql
et pourquoi donc? slave n'est la pour prendre le relais dans un seul et unique cas, celui ou master ne peut pas répondre pour une quelconque raison (il est down .... )
Si tu veut que les deux travail, alors ce que tu doit regarder c'est le load balancing.
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#3 Le 05/03/2014, à 23:27
- tiramiseb
Re : Réplication Mysql
Salut,
En complément à ce que dit pires57, j'ajouterais que le passage sur le slave lorsqu'il y a une éventuelle panne n'a rien de magique : c'est à ton application de gérer ça.
La réplication master/slave, c'est simplement le master qui retransmet les requêtes de création/modification/effacement au slave, afin que ce dernier ait un contenu identique. C'est tout.
Si tu veux que les requêtes de lecture passent par le slave et que les requêtes d'écriture passent par le master, il faut modifier ton application afin qu'elle le fasse d'elle-même.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#4 Le 06/03/2014, à 00:40
- TurBino
Re : Réplication Mysql
Bonsoir,
En faite j'ai lu sur le site de Mysql (http://dev.mysql.com/doc/refman/5.0/fr/ … intro.html) je cite
"L'accélération provient de la répartition de la charge de traitement des requêtes clients entre le maître et les esclaves, permettant un meilleur temps de réponse. Les requêtes SELECT peuvent être envoyées aux esclaves pour réduire la charge du maître. Les requêtes de modifications des données sont envoyées au maître, qui les transmettra aux esclaves. Cette stratégie de répartition de charge est efficace si les lectures sont plus nombreuses que les écritures, ce qui est la situation la plus courante."
Je croyais que cela ce faisais tous seul.
Donc je dois me diriger vers une autre solution pour faire du load balancing car je ne peux pas modifier mon application.
Que me conseillez vous ? A savoir que j'aimerais que si l'un de mes serveurs lâche l'autre prenne la relève et avoir la possibilité d'ajouter X serveurs en cas de besoin.
Ma config est la suivante
Internet
|
HA Proxy
/ \
/ \
/ \
/ \
SRV1 <--> SRV2
A savoir que
- Site1 + 2 sont identique
- Ubuntu 12.04 Serveur
- Interface dédié pour la réplication.
- Apache/php
- Mysql
Merci
Hors ligne
#5 Le 06/03/2014, à 17:10
- pires57
Re : Réplication Mysql
Et alors? dans ce cas il n'y a pas de problème, dans tes fonctions de modification tu ajoutes en paramètre l'adresse IP de master et dans celle d’interrogation tu lui ajoutes celle de slave
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#6 Le 06/03/2014, à 19:01
- TurBino
Re : Réplication Mysql
Le problème c'est que je ne peux pas modifier mes CMS qui tournent sur les serveurs.
Hors ligne
#7 Le 06/03/2014, à 19:47
- pires57
Re : Réplication Mysql
tu ne peut rien faire au niveau de tes serveurs, c'est au niveau de tes applis que tu doit gérer cela, pas au niveau des serveurs
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#8 Le 06/03/2014, à 22:34
- tiramiseb
Re : Réplication Mysql
Salut,
Tu as une autre solution : faire une grappe MySQL multi-maîtres et configurer chacun de tes serveurs web pour qu'il interroger un serveur MySQL différent. Par contre, ce n'est pas une solution des plus faciles à gérer...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 06/03/2014, à 23:21
- pires57
Re : Réplication Mysql
ce qui signifie aussi qu'il n'y a plus de notion master / slave a proprement parlé, chaque serveur auras sa base de donnée et comme l'a dit tiramiseb c'est extrêmement compliqué a géré...
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#10 Le 07/03/2014, à 17:22
- TurBino
Re : Réplication Mysql
En faite j'ai déjà testé le Master/Master cela à bien fonctionné pendant des mois, mais un jour le lien entre les deux serveur (interface dédié à la réplication) à lâché.
Je me suis donc retrouvé avec deux versions de base de données différente.
Une semaine pour tout remettre en place...
Du coup j'ai fait des recherches et je suis tombé sur "Mysql-proxy". Il fait de nombreuses choses mais plus particulièrement il est capable de rediriger les requêtes de type select vers X et le reste vers Y.
Je suis en testing pour le moment. Le but étant d'installer sur chaque serveur un proxy qui redirige les requêtes SELECT en local et le reste sur Master.
Hors ligne
#11 Le 07/03/2014, à 18:40
- tiramiseb
Re : Réplication Mysql
Je me suis donc retrouvé avec deux versions de base de données différente.
C'est un des problèmes des bases multi-maîtres...
je suis tombé sur "Mysql-proxy"
Ah oui tiens, ça semble pas mal ce truc.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
Pages : 1