Dans le fichier /etc/mysql/my.cnf :
[mysqld] log-bin=mysql-bin server-id=1
systemctl restart mysql
mysql> CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';
Dans le fichier /etc/mysql/my.cnf :
[mysqld] server-id=2
mysql> FLUSH TABLES WITH READ LOCK;
Attention : Garder la session ouverte pour maintenir le verrou. En quittant la session, le verrou est libéré.
mysql> SHOW MASTER STATUS;
shell> mysqldump -u <username> -p --all-databases --master-data > dbdump.db
ou bien
shell> mysqldump -u <username> -p <dbname> --master-data > dbdump.db
mysql> STOP SLAVE;
Après avoir copier le dump du serveur maître sur le serveur esclave, il faut le restaurer :
shell> mysql -u <username> -p <dbname> < dbdump.db
mysql> SHOW SLAVE STATUS;
Les champs Master_Log_File et Read_Master_Log_Pos doivent avoir les valeurs relevées précédemment.
mysql> START SLAVE;
A partir de maintenant, la réplication est active. Il est éventuellement possible de tester en faisant une modification sur la base de donnée du maître et de s'assurer qu'elle est répliquée sur l'esclave.