ReplikSQL : réplication MySQL/MariaDB en bash
ReplikSQL
ReplikSQL est un script Bash sous licence GPL permettant d’automatiser la mise en place d’une réplication entre serveurs MySQL ou MariaDB sous Linux. Il simplifie radicalement un processus parfois complexe, en le réduisant à une simple ligne de commande.
Fonctionnalités principales
– Configuration automatique d’une réplication maître-esclave.
– Détection intelligente de la version MySQL/MariaDB utilisée.
– Création et gestion sécurisée de l’utilisateur de réplication.
– Vérification des server-id *avant* l’initialisation de la procédure.
– Supporte les configurations avec des ips dédiées à la réplication.
– Conçu pour être utilisé depuis un bastion.
– Support des ports ssh exotiques et différents par machine.
Utilisation
Après téléchargement du script, l’usage basique est extrêmement simple.
./repliksql.sh --master-pub 83.143.18.20 --master-priv 192.168.1.20 --master-pw XXX --slave-pub 83.143.18.30 --slave-priv 192.168.1.30 --slave-pw YYY --master-ssh-port 2222 --slave-ssh-port 2223
Note : personnellement, je copie ce script dans /usr/local/bin sous le nom replisql et je l’utilise directement depuis l’utilisateur approprié comme une commande lambda.
Options
RepliSQL v2 – bootstrap bidirectional MySQL replication
Required:
--master-pub|-M Master's public IP
--master-pw|-P Master MySQL root password
--slave-pub|-S Slave's public IP
--slave-pw|-p Slave MySQL root password
Optional:
--master-priv|-m Master's private IP (default = master-pub)
--slave-priv|-s Slave's private IP (default = slave-pub)
--master-ssh-port Master SSH port (default 65022)
--slave-ssh-port Slave SSH port (default 65022)
--help|-h Show this help
Attention
Le port SSH configuré par défaut est le 65022 s’il n’est pas précisé.
Todo list
– Ajouter une option permettant d’utiliser GTID (en cours)
– Ajouter une option –dry-run pour simuler la configuration sans l’appliquer
– Ajouter un mode verbeux pour afficher en temps réel les actions réalisées.
Ressources
– Script: repliksql.sh
—
Christophe Casalegno
Vous pouvez me suivre sur : Telegram | Facebook | LinkedIn | X | YouTube | Twitch