How To Configure MariaDB Server Master-Slave Replication on Ubuntu 18.04 LTS
Innehållsförteckning:
- förutsättningar
- Installera MariaDB
- Konfigurera huvudservern
- Konfigurera slavservern
- Testa konfigurationen
- Slutsats
MySQL-replikering är en process för att kopiera data från en databasserver (master) till en eller flera servrar (slavar).
MySQL stöder flera replikeringstopologier där Master / Slave-topologi är en av de mest kända topologierna där en databaseserver fungerar som master, medan en eller flera servrar fungerar som slavar. Som standard är replikationen asynkron där master skickar händelser som beskriver databasändringar till dess binära logg och slavar begär händelserna när de är redo.
I den här guiden visar vi dig hur du ställer in MariaDB Master / Slave-replikering med en master och en slaveserver på Debian 10. MariaDB är standardimplementeringen av MySQL i Debian. Samma steg gäller för Oracle MySQL.
Denna typ av replikeringstopologi är bäst lämpad för distribution av lästa repliker för lässkalning, live databaser backup för katastrofåterställning och för analysjobb.
förutsättningar
Vi antar att du har två servrar som kör Debian 10 och kommunicerar med varandra via ett privat nätverk. Om din värdleverantör inte stöder privata IP-adresser kan du använda de offentliga IP-adresserna och konfigurera din brandvägg för att tillåta trafik på port 3306 endast från pålitliga källor.
Servrarna som används i detta exempel har följande IP-adresser:
Master IP: 10.10.8.12 Slave IP: 10.10.8.164
Installera MariaDB
Standardinställningarna för Debian 10 inkluderar MariaDB version 10.3. Det är bäst att installera samma MariaDB-version på båda servrarna för att undvika eventuella problem.
Installera MariaDB på både befälhavaren och slaven genom att utfärda följande kommandon:
sudo apt-get update
sudo apt-get install mariadb-server
Konfigurera huvudservern
Det första steget är att ställa in huvudservern. Vi gör följande ändringar:
- Ställ in MariaDB-servern så att den lyssnar på den privata IP. Ställ in en unik server-ID. Aktivera binär loggning.
Öppna MariaDB-konfigurationsfilen och avbrytningen eller ställ in följande rader:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
mästare: /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
När du är klar sparar du filen och startar om MySQL-tjänsten så att ändringar träder i kraft:
sudo systemctl restart mariadb
Nästa steg är att skapa en ny replikationsanvändare. Logga in på MariaDB-servern som rotanvändare:
sudo mysql
Kör följande SQL-frågor för att skapa en användare med namnet
replica
och ge
REPLICATION SLAVE
:
CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164';
Se till att du byter IP med din slav-IP-adress. Du kan namnge användaren som du vill.
När du fortfarande är inne i MySQL-prompten, kör följande kommando som kommer att skriva ut det binära filnamnet och positionen.
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)
Notera filnamnet "mysql-bin.000001" och Position "328". Dessa värden är nödvändiga när du konfigurerar slavservern och kommer förmodligen att vara annorlunda på din server.
Konfigurera slavservern
Vi kommer att göra samma ändringar på slaveservern som på master:
- Ställ in MySQL-servern så att den lyssnar på den privata IP-enheten. Ställ in ett unikt server-ID. Aktivera binär loggning.
Öppna konfigurationsfilen MariaDB och redigera följande rader:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
slav: /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
Starta om MariaDB-tjänsten:
sudo systemctl restart mariadb
Nästa steg är att konfigurera parametrarna som slaveservern kommer att använda för att ansluta till huvudservern. Logga in på MariaDB-skalet:
sudo mysql
Börja med att stoppa slavtrådarna:
STOP SLAVE;
Kör följande fråga för att konfigurera Master / Slave-replikering:
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;
Se till att du använder rätt IP-adress, användarnamn och lösenord. Loggfilsnamnet och positionen måste vara desamma som de värden du fick från masterservern.
När du är klar börjar du slavtrådarna.
Testa konfigurationen
Vid denna punkt bör du ha en fungerande Master / Slave replication setup.
För att verifiera att allt är korrekt konfigurerat skapar du en ny databas på huvudservern:
sudo mysql
CREATE DATABASE replicatest;
Logga in på slaven MySQL shell:
sudo mysql
Kör följande kommando för att lista alla databaser:
SHOW DATABASES;
Du kommer att märka att databasen du skapade på huvudservern replikeras på slaven:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Slutsats
I den här tutorialen har vi visat att du skapar en MariaDB Master / Slave-replikering på Debian 10.
Lämna gärna en kommentar om du har några frågor.
debian mysql mariadbLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man konfigurerar mysql master
MySQL-replikering är en process som låter dig automatiskt kopiera data från en databaseserver till en eller flera servrar. I den här tutorialen kommer vi att förklara hur man ställer in en MySQL Master / Slave-replikering med en master och en slaveserver på CentOS 7.
Hur man konfigurerar mysql master
MySQL-replikering är en process som gör att data från en databaseserver automatiskt kan kopieras till en eller flera servrar. Denna handledning täcker ett grundläggande exempel på MySQL Master / Slave-replikering med en master och en slaveserver på Ubuntu 18.04.







