Android

Sådan konfigureres mysql (mariadb) master

How to install mysql workbench on windows

How to install mysql workbench on windows

Indholdsfortegnelse:

Anonim

MySQL-replikation er en proces til kopiering af data fra en databaseserver (master) til en eller flere servere (slaver).

MySQL understøtter adskillige replikationstopologier, hvor Master / Slave-topologi er en af ​​de mest kendte topologier, hvor en databaseserver fungerer som master, mens en eller flere servere fungerer som slaver. Som standard er replikationen asynkron, hvor masteren sender hændelser, der beskriver databasemodifikationer til dens binære log, og slaver anmoder om begivenhederne, når de er klar.

I denne guide viser vi dig, hvordan du konfigurerer MariaDB Master / Slave-replikation med en master og en slaveserver på Debian 10. MariaDB er standardimplementeringen af ​​MySQL i Debian. De samme trin gælder for Oracle MySQL.

Denne type replikationstopologi er bedst egnet til implementering af læse replikaer til læseskalering, live databaser backup til katastrofegendannelse og til analytikjob.

Forudsætninger

Vi antager, at du har to servere, der kører Debian 10, der kommunikerer med hinanden via et privat netværk. Hvis din hostingudbyder ikke understøtter private IP-adresser, kan du bruge de offentlige IP-adresser og konfigurere din firewall til kun at tillade trafik på port 3306 fra pålidelige kilder.

Serverne, der bruges i dette eksempel, har følgende IP-adresser:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

Installation af MariaDB

Standard Debian 10-oplagerne inkluderer MariaDB version 10.3. Det er bedst at installere den samme MariaDB-version på begge servere for at undgå potentielle problemer.

Installer MariaDB på både master og slave ved at udstede følgende kommandoer:

sudo apt-get update sudo apt-get install mariadb-server

Konfiguration af masterserveren

Det første trin er at opsætte master-serveren. Vi foretager følgende ændringer:

  • Indstil MariaDB-serveren til at lytte på den private IP.Sæt en unik server-ID. Aktiver binær logning.

Åbn MariaDB-konfigurationsfilen og fjern komponenten, eller indstil 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 det er gjort, skal du gemme filen og genstarte MySQL-tjenesten, så ændringerne træder i kraft:

sudo systemctl restart mariadb

Det næste trin er at oprette en ny replikationsbruger. Log ind på MariaDB-serveren som root-bruger:

sudo mysql

Kør følgende SQL-forespørgsler for at oprette en bruger med navnet replica og give REPLICATION SLAVE privilegiet til brugeren:

CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; Sørg for at ændre IP'en med din slave-IP-adresse. Du kan navngive brugeren, som du vil.

Mens du stadig er inde i MySQL-prompten, skal du udføre følgende kommando, der udskriver det binære filnavn og placering.

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)

Bemærk filnavnet 'mysql-bin.000001' og position '328'. Disse værdier er nødvendige, når du konfigurerer slaveserveren og vil sandsynligvis være forskellige på din server.

Konfiguration af slaveserveren

Vi foretager de samme ændringer på slaveserveren som dem på masteren:

  • Indstil MySQL-serveren til at lytte på den private IP.Sæt en unik server-ID. Aktiver binær logning.

Åbn MariaDB-konfigurationsfilen, 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

Genstart MariaDB-tjenesten:

sudo systemctl restart mariadb

Det næste trin er at konfigurere de parametre, som slaveserveren vil bruge til at oprette forbindelse til masterserveren. Log ind på MariaDB-shell:

sudo mysql

Start med at stoppe slavetrådene:

STOP SLAVE;

Kør følgende forespørgsel for at konfigurere 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;

Sørg for, at du bruger den rigtige IP-adresse, brugernavn og adgangskode. Logfilfilens navn og placering skal være de samme som de værdier, du har fået fra hovedserveren.

Når det er gjort, skal du starte slavetrådene.

START SLAVE;

Test konfigurationen

På dette tidspunkt skal du have et fungerende Master / Slave-replikationsopsætning.

For at kontrollere, at alt er konfigureret korrekt, skal du oprette en ny database på masterserveren:

sudo mysql

CREATE DATABASE replicatest;

Login til slaven MySQL shell:

sudo mysql

Kør følgende kommando for at liste alle databaser:

SHOW DATABASES;

Du vil bemærke, at den database, du oprettede på master-serveren, er replikeret på slaven:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

Konklusion

I denne tutorial har vi vist, at du opretter en MariaDB Master / Slave-replikation på Debian 10.

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

debian mysql mariadb