How to Configure MySQL Master-Slave Replication on Ubuntu Linux
Innholdsfortegnelse:
- Forutsetninger
- Installerer MariaDB
- Konfigurere hovedserveren
- Konfigurering av slaveserveren
- Test konfigurasjonen
- Konklusjon
MySQL-replikering er en prosess for å kopiere data fra en databaseserver (master) til en eller flere servere (slaver).
MySQL støtter flere replikeringstopologier der Master / Slave-topologi er en av de mest kjente topologiene der en databaseserver fungerer som master, mens en eller flere servere fungerer som slaver. Som standard er replikasjonen asynkron der master sender hendelser som beskriver databasemodifikasjoner til den binære loggen og slaver ber om hendelsene når de er klare.
I denne guiden vil vi vise deg hvordan du konfigurerer MariaDB Master / Slave-replikering med en master og en slaveserver på Debian 10. MariaDB er standardimplementeringen av MySQL i Debian. De samme trinnene gjelder for Oracle MySQL.
Denne typen replikeringstopologi er best egnet for distribusjon av lese-kopier for lese skalering, live databaser backup for katastrofegjenoppretting og for analysejobber.
Forutsetninger
Vi antar at du har to servere som kjører Debian 10, som kommuniserer med hverandre over et privat nettverk. Hvis hostingleverandøren din ikke støtter private IP-adresser, kan du bruke de offentlige IP-adressene og konfigurere brannmuren din slik at det kun tillates trafikk på port 3306 fra pålitelige kilder.
Serverne som brukes i dette eksemplet har følgende IP-adresser:
Master IP: 10.10.8.12 Slave IP: 10.10.8.164
Installerer MariaDB
Standard Debian 10-lagringene inkluderer MariaDB versjon 10.3. Det er best å installere den samme MariaDB-versjonen på begge serverne for å unngå potensielle problemer.
Installer MariaDB på både master og slave ved å utgi følgende kommandoer:
sudo apt-get update
sudo apt-get install mariadb-server
Konfigurere hovedserveren
Det første trinnet er å sette opp hovedserveren. Vi gjør følgende endringer:
- Still MariaDB-serveren til å lytte på den private IP.Sett en unik server-ID. Aktiver binær logging.
Åpne MariaDB-konfigurasjonsfilen og uncomment, eller angi følgende linjer:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
mester: /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 er ferdig, lagrer du filen og start MySQL-tjenesten på nytt for at endringer skal tre i kraft:
sudo systemctl restart mariadb
Neste trinn er å opprette en ny replikasjonsbruker. Logg deg på MariaDB-serveren som rotbruker:
sudo mysql
Kjør følgende SQL-spørsmål for å opprette en bruker som heter
replica
og gi
REPLICATION SLAVE
privilegiet til brukeren:
CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164';
Forsikre deg om at du endrer IP-en med din slave-IP-adresse. Du kan navngi brukeren som du vil.
Når du fremdeles er inne i MySQL-ledeteksten, utfører du følgende kommando som vil skrive ut det binære filnavnet og plasseringen.
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)
Legg merke til filnavnet, 'mysql-bin.000001' og posisjon '328'. Disse verdiene er nødvendige når du konfigurerer slaveserveren og vil sannsynligvis være forskjellige på serveren din.
Konfigurering av slaveserveren
Vi vil gjøre de samme endringene på slaveserveren som på masteren:
- Still MySQL-serveren til å lytte på den private IP.Sett en unik server-ID. Aktiver binær logging.
Åpne MariaDB-konfigurasjonsfilen og rediger følgende linjer:
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 MariaDB-tjenesten på nytt:
sudo systemctl restart mariadb
Neste trinn er å konfigurere parametrene som slaveserveren vil bruke for å koble til master-serveren. Logg inn på MariaDB-skallet:
sudo mysql
Start med å stoppe slavetrådene:
STOP SLAVE;
Kjør følgende spørring for å konfigurere Master / Slave-replikasjonen:
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;
Forsikre deg om at du bruker riktig IP-adresse, brukernavn og passord. Loggfilnavnet og posisjonen må være den samme som verdiene du fikk fra hovedserveren.
Når det er gjort, start slavetrådene.
Test konfigurasjonen
På dette tidspunktet bør du ha et fungerende Master / Slave-replikasjonsoppsett.
For å bekrefte at alt er riktig konfigurert, oppretter du en ny database på hovedserveren:
sudo mysql
CREATE DATABASE replicatest;
Logg inn på slaven MySQL shell:
sudo mysql
Kjør følgende kommando for å liste alle databaser:
SHOW DATABASES;
Du vil merke at databasen du opprettet på master-serveren er replikert på slaven:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Konklusjon
I denne opplæringen har vi vist at du oppretter en MariaDB Master / Slave-replikasjon på Debian 10.
Legg gjerne igjen en kommentar hvis du har spørsmål.
debian mysql mariadbTo selskaper som tilbyr tredjeparts støtte til Oracles åpen kildekode MySQL database, samt MySQL offshoot MariaDB, har kunngjort planlegger å fusjonere.

To selskaper som tilbyr tredjepartsstøtte til Orakles open-source MySQL-database, samt MySQL-offshooten MariaDB, har annonsert planer om å fusjonere.
Hvordan konfigurere mysql master

MySQL-replikering er en prosess som lar deg automatisk kopiere data fra en databaseserver til en eller flere servere. I denne opplæringen vil vi forklare hvordan du konfigurerer en MySQL Master / Slave-replikasjon med en master og en slaveserver på CentOS 7.
Hvordan konfigurere mysql master

MySQL-replikering er en prosess som gjør det mulig å kopiere data fra en databaseserver automatisk til en eller flere servere. Denne opplæringen dekker et grunnleggende eksempel på MySQL Master / Slave-replikering med en master og en slaveserver på Ubuntu 18.04.