Mettre en place une replication MySql
Mercredi, 13 septembre 2006
Le but de cet artcile est de présenter de facon sommaire, la réplication de bases MySql entre deux serveurs.
Pour cela, il vous faut donc deux serveurs MySql, la version >= 4 ira trés bien.
Pour faire simple, nous partirons de la config du master, que nous reprendrons pour le slave.
Créer tout d’abord un compte “replication” (sur le master donc) et donnez lui les droits suivant:
master:~# mysql -u root -p
GRANT FILE ON . TO replication@localhost IDENTIFIED BY ‘motdepasse’;
GRANT FILE ON . TO replication@’%’ IDENTIFIED BY ‘motdepasse’;
Il faut maintenant arreter le serveur:
master:~#/etc/init.d/mysql stop
et faites une sauvegarde de votre /var/lib/mysql (un tar par ex si vous n’avez pas de serveur de sauvegarde/restauration)
Passons au fichier de configuration:
master:~#nano /etc/mysql/my.cnf
Commenter la ligne skip-networking:
#skip-networking
Rajouter:
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
#################################
Sur le serveur secondaire, rajouter dans my.cnf:
server-id = 2
log-bin = /var/log/mysql/mysql-bin.log
master-host = FQDN du server master
master-user = replication
master-password = motdepasse
master-port = 3306
master-connect-retry = 10
Commenter la ligne skip-networking:
#skip-networking
Restaurer la sauvegarde de /var/lib/mysql du master sur le serveur secondaire, puis relancer les deux serveurs.
#################################### Verif
master:~# netstat -ano|grep 3306
tcp
0 0
0.0.0.0:3306
0.0.0.0:
LISTEN off (0.00/0/0)tcp
0 0
ip_du_master:3306
ip_du_secondaire:40341 ESTABLISHED
keepalive (1445,05/0/0)secondaire:~# netstat -ano|grep 3306
tcp
0 0
0.0.0.0:3306
0.0.0.0:
LISTEN off (0.00/0/0)tcp
0 0
ip_du_secondaire:40341
ip_du_master:3306 ESTABLISHED
keepalive (1484,45/0/0)
- Pour verifier que tout est ok sur le master depuis MySql:
master:~#
mysql -u root -pmysql> show master status;
+—————+———-+————–+——————+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+—————+———-+————–+——————+
| mysql-bin.277 | 1664562
|
|
|+—————+———-+————–+——————+
1 row in set (0.03 sec)
- Sur le serveur secondaire:
secondaire:~#
mysql> show slave status;
Vous aurez une sorte de tableau indiquant l’etat de la replication.
La replication fonctionne bien.
Le mieux est alors de tester la creation d’une base sur le primaire, et de voir si elle est bien sur le secondaire ![]()
Publié par Nicolas Martinez | Pas de commentaire
Avant: Tunnel ssh
Laisser un commentaire
Vous devez vous identifier pour laisser un commentaire.



