OVH Cloud OVH Cloud

Cluster MySQL

2 réponses
Avatar
Franck
Hello la liste,

je suis à la recherche de docs/URL/retours d'expérience sur une solution
de cluster MySQL.

Mes besoins :
=============
J'ai 2 serveurs Linux avec MySQL.

Je souhaite que les 2 serveurs répondent en lecture mais que 1 seulement
réponde en écriture/update et que, bien sur, les données soient répliquées
sur le serveur qui ne fait que de la lecture.

Mes explications sont-elles claires ?
Est ce faisable ?

Merci d'avance

Franck
--
http://www.linuxpourtous.com


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

2 réponses

Avatar
Ghislain Seguy
> Hello la liste,


Salut,

je suis à la recherche de docs/URL/retours d'expérience sur une solution
de cluster MySQL.

Mes besoins :
============ > J'ai 2 serveurs Linux avec MySQL.

Je souhaite que les 2 serveurs répondent en lecture mais que 1 seulement
réponde en écriture/update et que, bien sur, les données soient répliquées
sur le serveur qui ne fait que de la lecture.

Mes explications sont-elles claires ?
Est ce faisable ?



Bien sur.
Il suffit de mettre en place une réplication MySQL entre tes deux machines.
Ensuite, tu fais les lectures sur les deux (fait ta répartition au
niveau logiciel) et tes écritures sur l'une des machines uniquement.

Pour la mise en place de la réplication,
http://www.nexen.net/mysql/replication.php

Ce type de solution fonctionne très bien.

Ghislain.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Marc PERRUDIN
Franck a écrit :

Hello la liste,




Salut,



je suis à la recherche de docs/URL/retours d'expérience sur une solution
de cluster MySQL.

Mes besoins :
============ >>>J'ai 2 serveurs Linux avec MySQL.

Je souhaite que les 2 serveurs répondent en lecture mais que 1 seulement
réponde en écriture/update et que, bien sur, les données soient
répliquées
sur le serveur qui ne fait que de la lecture.

Mes explications sont-elles claires ?
Est ce faisable ?




Bien sur.
Il suffit de mettre en place une réplication MySQL entre tes deux
machines.
Ensuite, tu fais les lectures sur les deux (fait ta répartition au
niveau logiciel) et tes écritures sur l'une des machines uniquement.

Pour la mise en place de la réplication,
http://www.nexen.net/mysql/replication.php

Ce type de solution fonctionne très bien.





Merci j'ai lu attentivement ce lien. J'utilise déjà cette méthode pour
répliquer un master sur un slave mais j'utilise heartbeat pour démarrer le
slave si le master tombe.

Or, dans ton URL, je n'ai pas vu d'explication quant à l'écriture sur 1
seul serveur et la lecture sur plusieurs ?
Mais peut-etre que le Master lit et écrit tandis que le slave ne fait que
lire et renvoit les requetes vers le master ? Mais j'en doute car on parle
de réplication unidirectionnelle dans cette doc :(




Dans la FAQ, il y a les grandes lignes d'une solution. Ca passe par un
recodage des applications pour distinguer le serveur qui effectue les
requetes en ecriture (le maitre) et les serveurs qui repondent aux
requetes en lecture (le maitre et les esclaves ou seulement les
esclaves). Une fois le recodage effectué, le plus simple pour repartir
la charge de lecture, c'est d'utiliser le DNS: tu definis une adresse
serveur-maitre qui pointe uniquement vers le serveur maitre et une
adresse serveur-esclave qui pointe vers tous les esclaves (et le maitre
si la charge en ecriture le permet), le système DNS se charge alors de
faire pointé l'adresse serveur-esclave sur les clients vers les
differents serveurs esclaves.

A+

Merci pour cette doc, ça m'a rapellé 2-3 trucs que j'avais oublié.

PS : je pense utiliser keepalived pour définir une IP virtuelle qui sera
"attaquable" depuis un apache mais qui déservira 2 IP physique (master et
slave MySQL).

Franck






--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact