Serveur maître (primaire)Les étapes suivantes sont nécessaires pour configurer un serveur DATA en tant que maître. La première étape consiste à créer un module de configuration approprié. Cela se fait avec la commande suivante : Translations Ignore |
---|
Code Block |
---|
language | bash |
---|
title | Configurer MySQL maître |
---|
| cat <<EOFF > /etc/mon.cnf.d/jtel-master.cnf # Paramètres MySQL personnalisés pour un serveur SQL maître spécifique # # ATTENTION : Ce fichier est spécifique au serveur maître [mysqld] # # Options de réplication # # Options spécifiques au rôle de MASTER # server_id = 1 binlog_format = ROW expire_logs_days = 3 max_binlog_size = 100M log_bin = binlog relay_log = mysqld-relay-bin relay_log_index = mysqld-relay-bin.index relay_log_info_file = relay-log.info EOFF |
|
Note |
---|
| La valeur server_id apparaît à la fois dans les modules de configuration pour les serveurs maîtres et dans les modules de configuration pour les serveurs esclaves. Il est important de veiller à ce que cette valeur soit unique. Aucun serveur de données d'un groupe ne peut avoir le même server_id . |
Ensuite, un utilisateur est créé avec lequel les serveurs esclaves peuvent se connecter au serveur maître - remplacer <mot de passe> par le mot de passe correspondant : MySQL 8.x Translations Ignore |
---|
Code Block |
---|
title | Créer un utilisateur de réplication |
---|
| mysql -u root -p<password> -v -e"CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '<password>'" mysql -u root -p<password> -v -e"GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'" mysql -u root -p<password> -v -e"FLUSH PRIVILEGES" |
|
MySQL 5,6 Translations Ignore |
---|
Code Block |
---|
title | Créer un utilisateur de réplication |
---|
| mysql -u root -p<password> -v -e"CREATE USER 'repl'@'%' IDENTIFIED BY '<password>'" mysql -u root -p<password> -v -e"GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'" mysql -u root -p<password> -v -e"FLUSH PRIVILEGES" |
|
Ensuite, le serveur MySQL doit être redémarré afin que tous les paramètres soient appliqués : Translations Ignore |
---|
Code Block |
---|
language | bash |
---|
title | Redémarrer le serveur MySQL |
---|
| service mysqld restart |
|
Ne conservez que les logs bin pendant 4 heuresCeci n'est PAS RECOMMANDÉ. Cette étape est nécessaire, sur les serveurs maîtres ayant une charge élevée et une faible capacité de disque - remplacer <password> par le mot de passe de la DB : Translations Ignore |
---|
Code Block |
---|
language | bash |
---|
title | Valeurs pour l'environnement du système |
---|
| echo "FLUSH LOGS;" > /home/jtel/purge.sql echo "PURGE BINARY LOGS BEFORE NOW() - INTERVAL 4 HOUR;" >> /home/jtel/purge.sql echo '#!/bin/bash' > /home/jtel/purge.sh echo "mysql -uroot -p<password> < /home/jtel/purge.sql" >> /home/jtel/purge.sh chmod 700 /home/jtel/purge.sh mv /home/jtel/purge.sh /etc/cron.hourly/ |
|
Serveur esclaveLes étapes suivantes sont nécessaires pour configurer un serveur DONNÉES en tant qu'esclave. Il s'agit d'une réplique non cryptée. La réplication chiffrée peut être effectuée selon https://www.thomas-krenn.com/de/wiki/MySQL_Verbindungen_mit_SSL_verschl%C3%BCsseln. La première étape consiste à créer un module de configuration approprié. Cela se fait avec la commande suivante : Translations Ignore |
---|
Code Block |
---|
language | bash |
---|
title | Configurer MySQL Esclave |
---|
| cat <<EOFF > /etc/mon.cnf.d/jtel-slave.cnf # Paramètres MySQL personnalisés pour un serveur SQL esclave spécifique # # ATTENTION : Ce fichier est spécifique au serveur esclave [mysqld] # Options spécifiques pour le rôle SLAVE # server_id = 101 log_slave_updates relay_log = mysqld-relay-bin relay_log_index = mysqld-relay-bin.index relay_log_info_file = relay-log.info skip-log-bin EOFF |
|
Note |
---|
| La valeur server_id apparaît à la fois dans les modules de configuration pour les serveurs maîtres et dans les modules de configuration pour les serveurs esclaves. Il est important de vérifier que cette valeur soit unique. Aucun serveur de données d'un groupe ne peut avoir le même server_id . |
Ensuite, le serveur MySQL doit être redémarré afin que tous les paramètres soient appliqués : |