How To Configure MySQL Master-Slave Replication on Ubuntu 18.04
Innholdsfortegnelse:
- Forutsetninger
- Installer MySQL
- Konfigurer hovedserveren
- Konfigurer slaveserveren
- Test konfigurasjonen
- Konklusjon
MySQL-replikering er en prosess som gjør det mulig å kopiere data fra en databaseserver automatisk til en eller flere servere.
MySQL støtter en rekke 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.
Denne opplæringen dekker et grunnleggende eksempel på MySQL Master / Slave-replikering med en master og en slaveserver på Ubuntu 18.04. De samme trinnene gjelder for MariaDB.
Denne typen replikeringstopologi er best egnet for distribusjon av lese-kopier for lesing av skalering, live databaser-sikkerhetskopi for katastrofegjenoppretting og for analysejobber.
Forutsetninger
Dette eksemplet antar at du har to servere som kjører Ubuntu 18.04, som kan kommunisere med hverandre over et privat nettverk. Hvis hostingleverandøren din ikke tilbyr 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 i dette eksemplet har følgende IP-er:
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
Installer MySQL
Standard Ubuntu 18.04-depotene inkluderer MySQL versjon 5.7. For å unngå problemer er det best å installere den samme MySQL-versjonen på begge serverne.
Installer MySQL på master-serveren:
sudo apt-get update
sudo apt-get install mysql-server
Installer MySQL på Slave-serveren ved hjelp av de samme kommandoene:
sudo apt-get update
sudo apt-get install mysql-server
Konfigurer hovedserveren
Det første trinnet er å konfigurere master MySQL-serveren. Vi gjør følgende endringer:
- Still MySQL-serveren til å lytte på den private IP.Sett en unik server-ID.. Aktiver binærlogging
Å gjøre det, åpne MySQL-konfigurasjonsfilen og koble fra eller angi følgende:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
mester: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Når det er gjort, start MySQL-tjenesten på nytt for at endringene skal tre i kraft:
sudo systemctl restart mysql
Neste trinn er å opprette en ny replikasjonsbruker. Logg på MySQL-serveren som rotbruker ved å skrive:
sudo mysql
Fra inne i MySQL-ledeteksten kjører du følgende SQL-spørringer som vil opprette
replica
brukeren og gi
REPLICATION SLAVE
privilegiet til brukeren:
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
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: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Legg merke til filnavnet, 'mysql-bin.000001' og posisjon '629'. Du trenger disse verdiene når du konfigurerer slaveserveren. Disse verdiene vil sannsynligvis være forskjellige på serveren din.
Konfigurer slaveserveren
Som for hovedserveren ovenfor, vil vi gjøre følgende endringer på slaveserveren:
- Still MySQL-serveren til å lytte på den private IPSet en unik server IDEnable den binære loggingen
Åpne MySQL-konfigurasjonsfilen og rediger følgende linjer:
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 MySQL-tjenesten på nytt:
sudo systemctl restart mysql
Neste trinn er å konfigurere parametrene som slaveserveren vil bruke for å koble til master-serveren. Logg inn på MySQL-skallet:
sudo mysql
Først må du stoppe slavetrådene:
STOP SLAVE;
Kjør følgende spørring som vil sette opp slaven for å gjenskape masteren:
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;
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 fungerer som forventet, oppretter vi 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 MySQL Master / Slave-replikasjon.
Legg gjerne igjen en kommentar hvis du har spørsmål.
ubuntu mysql mariadbVi har sett hvordan vi kan sette eller endre filforeninger og utvidelser i Windows via appleten Standardprogram for kontrollpanel. I Windows 10 / 8.1 / 8 kan du også konfigurere disse filforeningene via Innstillinger.

For de som kanskje ikke vet, har hver fil i Windows-operativsystemet en utvidelse i filnavnet, for eksempel ... jpg, .pdf etc. Disse utvidelser brukes til å identifisere programmet, med hvilket Windows kan åpne denne filen.
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 (mariadb) master

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.