tuto:linux_divers:mysql_master_slave

Ceci est une ancienne révision du document !


Réplication MySQL maître esclave

Dans cet exemple, le maître est 192.168.7.1 et l'esclave 192.168.7.152.

Éditer /etc/my.cnf et ajouter

server-id = 1
log_bin = /var/lib/mysql/binlog/mysql-bin.log
log_error = /var/log/mysqld/mysql-bin.err
# Si on ne veut répliquer que certaines bases, les lister ici:
binlog_do_db = smtp_log
expire_logs_days = 10
max_binlog_size = 100M
l'ID doit être unique parmi l'ensemble des serveurs

Créer le répertoire des journaux binaires:

mkdir /var/lib/mysql/binlogs
chown mysql:mysql /var/lib/binlogs
chmod 700 /var/lib/mysql/binlogs

Redémarrer le service MySQL

Créer un utilisateur ayant les droits:

GRANT replication slave ON *.* TO 'sqlsync'@'192.168.7.152' IDENTIFIED BY 'p@ssw0rd';
FLUSH privileges;

Éditer /etc/my.cnf et ajout un server-id (différent de celui du maître), puis:

stop slave;
CHANGE master TO MASTER_HOST='192.168.7.1', MASTER_USER='sqlsync', MASTER_PASSWORD='p@ssw0rd', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=3423;
START slave;
Les valeurs MASTER_LOG_FILE et MASTER_LOG_POS doivent être récupérées depuis le maître avec
SHOW master STATUS;

On peut ensuite vérifier qu'il n'y ait pas d'erreur sur l'esclave avec

SHOW slave STATUS;
  • tuto/linux_divers/mysql_master_slave.1452877746.txt.gz
  • Dernière modification: 15/01/2016 18:09
  • de dani