I► : sur le serveur Maître, configurez la réplication comme suit :
- Dans l’onglet réplication, choisissez l’option configurer le serveur maître.
Editer le fichier /etc/mysql/my.cnf
- Redémarrez mysql : /etc/init.d/mysql restart
- Puis faites exécuter dans phpMyAdmin
- Ajouter un nouvel utilisateur pour la réplication et donner lui tous les privilèges nécessaires
CREATE USER ‘replicant’@’localhost’ IDENTIFIED BY ‘***’;
GRANT REPLICATION SLAVE , REPLICATION CLIENT ON * . * TO ‘replicant’@’localhost’ IDENTIFIED BY ‘***’;
II : sur le serveur esclave, configurez la réplication comme suit :
- Dans l’onglet réplication, configurez :
- Vous devrez ajouter le server-id proposé par phpMyAdmin dans /etc/mysql/my.cnf et redémarrez mysql (pensez à ajouter slave-skip-errors=1062,1053 !)
- puis faire éxécuter dans phpMyAdmin
- Faites reconfigurer le serveur maître en saisissant les informations du serveur maître
Ceci revient à faire en ligne de commande : et qui éditera au final le fichier master.info qui se trouve sur le serveur esclave :
On pourra synchroniser les données afin de copier toute la base de données vers le serveur esclave et ensuite démarrer complètement le serveur esclave (ce qui correspond à démarrer d’abord le fil I/O qui lit les requêtes du maître et le splace dans le relay-lo et ensuite le fil mysql qui lit le relay-log et éxécute le sql)
START SLAVE
, appelé sans option, démarre les deux threads esclaves.(processus léger au sein d’un même processus)
Le thread I/O lire les requêtes du maître et les stocke dans le log de relais.
Le thread SQL lire le log de relais, et exécute les requêtes.
START SLAVE SQL_THREAD;
START SLAVE IO_THREAD;
-
Conf. de my.cnf sur le slave :
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
language = /usr/share/mysql/french
key_buffer = 32M
query_cache_size = 32M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 2M
query_cache_size = 32M
log_slow_queries = /var/log/mysql/mysql-slow.log
max_binlog_size = 100M
#réplication
server-id=1360067571
slave-skip-errors=1062,1053
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
-
conf. de my.cnf sur le maître :
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
language = /usr/share/mysql/french
key_buffer = 32M
query_cache_size = 32M
max_allowed_packet = 16M
thread_stack = 192K
myisam-recover = BACKUP
query_cache_limit = 2M
query_cache_size = 32M
log_slow_queries = /var/log/mysql/mysql-slow.log
max_binlog_size = 100M
#replication
server-id=8345038
log-bin=mysql-bin
log-error=mysql-bin.err
binlog_do_db=centrale
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/