Ich möchte drei MariaDB-Datenbankserver, einen Master und zwei „Slaves“. Ich möchte auf jedem Server lesen und schreiben können und dies auf den anderen Servern replizieren. Ich habe im Internet gelesen, dass dies „Master-Master-Replikation“ genannt wird.
Jetzt möchte ich auf meinem „echten“ Master-Server keine Ports öffnen, sondern nur auf den beiden „Slave“-Instanzen. Ist es möglich, dass der „echte Master“ die Sockets öffnet, sodass ich die Ports für eingehenden Datenverkehr auf dem ersten Server nicht öffnen muss?
Bearbeiten: Ich habe mehrere Datenbanken auf dem „Master“-Server und möchte nur einige dieser Datenbanken auf die „Slaves“ replizieren.
Antwort1
Schreiben Sie auf jeden Server und lassen Sie dies auf den anderen Servern replizieren
Dazu benötigen Sie eine "zirkuläre" Replikation zwischen allen 3 Servern.nichtempfehle es. Wenn ein Server ausfällt, ist es ein Albtraum, sie wieder zu synchronisieren.
Andererseits bietet Galera-Clustering (verfügbar in MariaDB) dies als Standard und kümmert sich um die Neusynchronisierung. Ich empfehle dringend, das, was Sie begonnen haben, aufzugeben und Galera einzurichten.
Was Firewalls, Tunneling, Reverse-SSH usw. betrifft, haben Sie nicht genügend Informationen zu den Systemen bereitgestellt. (Beachten Sie, dass die Replikate vom Primärserver „ziehen“, nicht umgekehrt.) Im Fall von Galera müssen auf allen Servern einige Ports geöffnet werden.