![Hoe MySQL (Master-Slave)-replicatie in te stellen in RHEL, CentOS, Fedora](/f/55576ff9a64a4ee952b08d74a03d6d77.jpg?width=100&height=100)
Gegevensreplicatie is het proces waarbij uw gegevens over meerdere servers worden gekopieerd om de beschikbaarheid van gegevens en de betrouwbaarheid en prestaties van een toepassing te verbeteren. In MySQL replicatie, gegevens worden in realtime gekopieerd van een database van de masterserver naar andere knooppunten om de consistentie van de gegevens te garanderen en ook om back-up en redundantie te bieden.
In deze handleiding laten we zien hoe u kunt instellen MySQL (Meester-Slaaf) replicatie in Op RHEL gebaseerde distributies zoals CentOS, Fedora, Rotsachtige Linux, en AlmaLinux.
Dus hier is onze MySQL opstelling van het replicatielab.
MySQL-master - 10.128.0.14. MySQL-slaaf - 10.128.15.211.
Laten we beginnen…
We beginnen met het installeren van de MySQL database op zowel de meester en slaaf servers.
$ sudo dnf installeer @mysql.
Nadat de installatie is voltooid, maakt u een punt om de databaseserver te starten.
$ sudo systemctl start mysqld.
Schakel het vervolgens in om te beginnen met het opstarten van het systeem of bij het opnieuw opstarten.
$ sudo systemctl activeer mysqld.
Bevestig daarna dat de MySQL databaseserver wordt uitgevoerd zoals weergegeven:
$ sudo systemctl-status mysqld.
De volgende stap is het beveiligen van de MySQL database op zowel de meester en slaaf servers. Dit komt omdat de standaardinstellingen onveilig zijn en enkele mazen bevatten die gemakkelijk door hackers kunnen worden misbruikt.
Dus, om MySQL harder te maken, voer je de opdracht uit:
$ sudo mysql_secure_installation.
Eerst moet u de MySQL root-wachtwoord. Zorg ervoor dat u een sterk root-wachtwoord opgeeft, bij voorkeur met meer dan 8 tekens, een combinatie van hoofdletters, kleine letters, speciale en numerieke tekens.
Typ voor de overige prompts 'J'
om de databaseserver aan te passen aan de aanbevolen instellingen.
Zodra u klaar bent met installeren en uitharden MySQL op de master- en slave-node is de volgende stap het configureren van de master-node.
De volgende stap is het configureren van de Meester knoop en verleen de slaaf toegang tot het knooppunt. Eerst moeten we de. bewerken mysql-server.cnf configuratiebestand.
$ sudo vim /etc/my.cnf.d/mysql-server.cnf.
Voeg de volgende regels toe onder de [mysqld]
sectie.
bind-adres = 10.128.0.14. server-id = 1. log_bin = mysql-bin.
Als u klaar bent, slaat u de wijzigingen op en sluit u af. Start vervolgens de MySQL server.
$ sudo sysemctl herstart mysqld.
Log vervolgens in op MySQL schelp.
$ sudo mysql -u root -p.
Voer de volgende opdrachten uit om een databasegebruiker te maken die zal worden gebruikt om de master en slave te binden voor replicatie.
mysql> MAAK GEBRUIKER 'replica'@'10.128.15.211' GEDENTIFICEERD DOOR '[e-mail beveiligd]'; mysql> GRANT REPLICATION SLAVE OP *.*TO 'replica'@'10.128.15.211';
Pas de wijzigingen toe en verlaat de MySQL server.
mysql> FLUSH PRIVILEGES; mysql> VERLATEN;
Controleer de status van de master.
mysql> TOON HOOFDSTATUS\G.
Let op de bestandsnaam en positie. U hebt dit later nodig bij het instellen van de slave voor replicatie. In ons geval hebben we de bestandsnaam als mysql-bin.000001
en positie 1232.
Ga nu terug naar het Slave-knooppunt. Bewerk nogmaals de mysql-server.cnf configuratiebestand.
$ sudo vim /etc/my.cnf.d/mysql-server.cnf.
Plak zoals eerder deze regels onder de [mysqld]
sectie. Wijzig het IP-adres zodat het overeenkomt met het IP-adres van de slave. Wijs ook een andere. toe server-id. Hier hebben we het de waarde van toegekend 2.
bind-adres = 10.128.15.211. server-id = 2. log_bin = mysql-bin.
Sla de wijzigingen op en verlaat het bestand. Start vervolgens de databaseserver opnieuw.
$ sudo systemctl herstart mysqld.
Om de. te configureren Slaaf knooppunt om te repliceren vanaf het masterknooppunt, logt u in op de MySQL-server van de slave.
$ sudo mysql -u root -p.
Stop eerst en vooral de replicatiethreads:
mysql> STOP SLAAF;
Voer vervolgens de volgende opdracht uit om het slave-knooppunt te configureren om databases van de master te repliceren.
mysql> WIJZIG MASTER IN MASTER_HOST='10.128.0.14', MASTER_USER='replica', MASTER_PASSWORD='[e-mail beveiligd]', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1232;
Merk op dat de MASTER_LOG_FILE en MASTER_LOG_POS vlaggen komen overeen met het bestand en Positie waarden uit de Meester knooppunt aan het einde van stap 1.
De MASTER_HOST, MASTER_USER, en MASTER WACHTWOORD corresponderen met respectievelijk het hoofd-IP-adres, de replicatiegebruiker en het wachtwoord van de replicatiegebruiker.
Start vervolgens de slave-replicatiethreads:
mysql> START SLAAF;
Om te testen of replicatie tussen het master- en slave-knooppunt werkt, logt u in op de MySQL-databaseserver op het masterknooppunt:
$ sudo mysql -u root -p.
Maak een testdatabase aan. Hier heet onze testdatabase replicatie_db.
mysql> MAAK DATABASE replicatie_db;
Controleer het bestaan van de database.
mysql> TOON DATABANKEN;
Ga nu naar het slave-knooppunt, log in op de MySQL-server en bevestig dat de replicatie_db databank aanwezig is. Uit de onderstaande output kunnen we zien dat de database aanwezig is. Dit is een bevestiging dat replicatie heeft plaatsgevonden van de Master naar de slave-node.
mysql> TOON DATABANKEN;
En dat is alles, we hebben met succes aangetoond hoe u een MySQL master-slave-replicatiemodel dat databases kan repliceren van het master-knooppunt naar het slave-knooppunt.