How To Configure MySQL Master-Slave Replication on Ubuntu 18.04
Inhoudsopgave:
- voorwaarden
- Installeer MySQL
- Configureer de hoofdserver
- Configureer de slaveserver
- Test de configuratie
- Conclusie
MySQL-replicatie is een proces waarmee gegevens van één databaseserver automatisch naar een of meer servers kunnen worden gekopieerd.
MySQL ondersteunt een aantal 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 fungeren als slaves. 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.
Deze tutorial behandelt een basisvoorbeeld van MySQL Master / Slave-replicatie met één master en één slave-server op Ubuntu 18.04. Dezelfde stappen zijn van toepassing op MariaDB.
Dit type replicatietopologie is het meest geschikt voor het inzetten van leesreplica's voor leesschaling, live databaseback-up voor noodherstel en voor analysetaken.
voorwaarden
In dit voorbeeld wordt ervan uitgegaan dat u twee servers hebt waarop Ubuntu 18.04 wordt uitgevoerd, die via een privénetwerk met elkaar kunnen communiceren. Als uw hostingprovider geen privé-IP-adressen aanbiedt, 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 in dit voorbeeld hebben de volgende IP's:
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
Installeer MySQL
De standaard repository's van Ubuntu 18.04 bevatten MySQL versie 5.7. Om problemen te voorkomen, is het het beste om dezelfde MySQL-versie op beide servers te installeren.
Installeer MySQL op de hoofdserver:
sudo apt-get update
sudo apt-get install mysql-server
Installeer MySQL op de Slave-server met dezelfde opdrachten:
sudo apt-get update
sudo apt-get install mysql-server
Configureer de hoofdserver
De eerste stap is het configureren van de master MySQL-server. We zullen de volgende wijzigingen aanbrengen:
- Stel de MySQL-server in om te luisteren op het privé-IP. Stel een unieke server-ID in. Schakel de binaire logboekregistratie in
Open hiervoor het MySQL-configuratiebestand en uncomment of stel het volgende in:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
meester: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Zodra u klaar bent, start u de MySQL-service opnieuw om de wijzigingen door te voeren:
sudo systemctl restart mysql
De volgende stap is het maken van een nieuwe replicatiegebruiker. Log in op de MySQL-server als rootgebruiker door het volgende te typen:
sudo mysql
Voer vanuit de MySQL-prompt de volgende SQL-query's uit die de
replica
gebruiker maken en het recht
REPLICATION SLAVE
aan de gebruiker verlenen:
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
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: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Let op de bestandsnaam 'mysql-bin.000001' en positie '629'. U hebt deze waarden nodig bij het configureren van de slaveserver. Deze waarden zullen waarschijnlijk anders zijn op uw server.
Configureer de slaveserver
Zoals voor de hoofdserver hierboven, zullen we de volgende wijzigingen aanbrengen in de slaveserver:
- Stel de MySQL-server in om op de privé-IPS te luisteren Stel een unieke server-ID in Schakel de binaire logboekregistratie in
Open het MySQL-configuratiebestand en bewerk de volgende regels:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
slave: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
Start de MySQL-service opnieuw:
sudo systemctl restart mysql
De volgende stap is het configureren van de parameters die de slaveserver zal gebruiken om verbinding te maken met de masterserver. Log in op de MySQL-shell:
sudo mysql
Stop eerst de hulpdraden:
STOP SLAVE;
Voer de volgende query uit waarmee de slave de master repliceert:
CHANGE MASTER TO
MASTER_HOST='192.168.121.190',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=629;
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.
Om te controleren of alles werkt zoals verwacht, maken we een nieuwe database op de hoofdserver:
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 MySQL Master / Slave-replicatie maakt.
Als je nog vragen hebt, kun je een reactie achterlaten.
ubuntu 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 (mariadb) master te configureren
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.







