How to Configure MySQL Master-Slave Replication on Ubuntu Linux
Inhoudsopgave:
- voorwaarden
- MariaDB installeren
- De hoofdserver configureren
- De slave-server configureren
- Test de configuratie
- Conclusie
MySQL-replicatie is een proces waarbij gegevens worden gekopieerd van één databaseserver (master) naar een of meer servers (slaves).
MySQL ondersteunt verschillende replicatietopologieën, waarbij Master / Slave-topologie een van de meest bekende topologieën is waarin één databaseserver fungeert als master, terwijl een of meer servers als slaves fungeren. Standaard is de replicatie asynchroon, waarbij de master gebeurtenissen die databasemodificaties beschrijven naar het binaire logboek verzendt en slaves de gebeurtenissen aanvragen wanneer ze gereed zijn.
In deze gids laten we u zien hoe u MariaDB Master / Slave-replicatie instelt met één master en één slave-server op Debian 10. MariaDB is de standaardimplementatie van MySQL in Debian. Dezelfde stappen zijn van toepassing op Oracle MySQL.
Dit type replicatietopologie is het meest geschikt voor het inzetten van leesreplica's voor leesschaling, live databaseback-up voor noodherstel en voor analysetaken.
voorwaarden
We gaan ervan uit dat u twee servers hebt waarop Debian 10 draait, die met elkaar communiceren via een privénetwerk. Als uw hostingprovider geen particuliere IP-adressen ondersteunt, kunt u de openbare IP-adressen gebruiken en uw firewall configureren om verkeer op poort 3306 alleen van vertrouwde bronnen toe te staan.
De servers die in dit voorbeeld worden gebruikt, hebben de volgende IP-adressen:
Master IP: 10.10.8.12 Slave IP: 10.10.8.164
MariaDB installeren
De standaard De Debian 10 repositories omvat MariaDB versie 10.3. Het is het beste om dezelfde MariaDB-versie op beide servers te installeren om mogelijke problemen te voorkomen.
Installeer MariaDB op zowel de master als de slave door de volgende opdrachten uit te geven:
sudo apt-get update
sudo apt-get install mariadb-server
De hoofdserver configureren
De eerste stap is het instellen van de masterserver. We zullen de volgende wijzigingen aanbrengen:
- Stel de MariaDB-server in om te luisteren op het privé-IP. Stel een unieke server-ID in. Schakel binaire logging in.
Open het MariaDB-configuratiebestand en uncomment of stel de volgende regels in:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
meester: /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Sla het bestand op en start de MySQL-service opnieuw om de wijzigingen door te voeren:
sudo systemctl restart mariadb
De volgende stap is het maken van een nieuwe replicatiegebruiker. Log in op de MariaDB-server als rootgebruiker:
sudo mysql
Voer de volgende SQL-query's uit om een gebruiker met de naam
replica
en de gebruiker
REPLICATION SLAVE
verlenen:
CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164';
Zorg ervoor dat u het IP-adres wijzigt met uw slave IP-adres. U kunt de gebruiker een naam geven zoals u dat wilt.
Terwijl u zich nog steeds in de MySQL-prompt bevindt, voert u de volgende opdracht uit die de binaire bestandsnaam en positie afdrukt.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)
Let op de bestandsnaam 'mysql-bin.000001' en positie '328'. Deze waarden zijn nodig bij het configureren van de slaveserver en zullen waarschijnlijk anders zijn op uw server.
De slave-server configureren
We zullen dezelfde wijzigingen aanbrengen op de slaveserver als die op de master:
- Stel de MySQL-server in om te luisteren op het privé-IP. Stel een unieke server-ID in. Schakel binaire logging in.
Open het MariaDB-configuratiebestand en bewerk de volgende regels:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
slave: /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
Start de MariaDB-service opnieuw:
sudo systemctl restart mariadb
De volgende stap is het configureren van de parameters die de slaveserver zal gebruiken om verbinding te maken met de masterserver. Inloggen op de MariaDB-shell:
sudo mysql
Begin met het stoppen van de hulpdraden:
STOP SLAVE;
Voer de volgende query uit om de Master / Slave-replicatie te configureren:
CHANGE MASTER TO
MASTER_HOST='10.10.8.12',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=328;
Zorg ervoor dat u het juiste IP-adres, gebruikersnaam en wachtwoord gebruikt. De naam en positie van het logboekbestand moeten hetzelfde zijn als de waarden die u van de masterserver hebt verkregen.
Zodra u klaar bent, start u de slave-threads.
Test de configuratie
Op dit punt zou u een werkende Master / Slave-replicatie-instelling moeten hebben.
Maak een nieuwe database op de masterserver om te controleren of alles correct is ingesteld:
sudo mysql
CREATE DATABASE replicatest;
Log in op de slave MySQL-shell:
sudo mysql
Voer de volgende opdracht uit om alle databases weer te geven:
SHOW DATABASES;
U zult merken dat de database die u op de masterserver hebt gemaakt, op de slave wordt gerepliceerd:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Conclusie
In deze zelfstudie hebben we laten zien dat u een MariaDB Master / Slave-replicatie op Debian 10 maakt.
Als je nog vragen hebt, kun je een reactie achterlaten.
debian mysql mariadbHoe e-mail handtekening in Windows 8 mail te configureren
Meer informatie over het configureren van e-mailhandtekening in Windows 8 Mail.
Hoe mysql master te configureren
MySQL-replicatie is een proces waarmee u automatisch gegevens van een databaseserver naar een of meer servers kunt kopiëren. In deze zelfstudie leggen we uit hoe u een MySQL Master / Slave-replicatie met één master en één slave-server op CentOS 7 instelt.
Hoe mysql master te configureren
MySQL-replicatie is een proces waarmee gegevens van één databaseserver automatisch naar een of meer servers kunnen worden gekopieerd. Deze tutorial behandelt een basisvoorbeeld van MySQL Master / Slave-replicatie met één master en één slave-server op Ubuntu 18.04.







