Android

Jak nakonfigurovat master mysql

Python on Azure: Part 2—Deploying Django services to Azure Web Apps | Azure Friday

Python on Azure: Part 2—Deploying Django services to Azure Web Apps | Azure Friday

Obsah:

Anonim

MySQL replikace je proces, který umožňuje automatické kopírování dat z jednoho databázového serveru na jeden nebo více serverů.

MySQL podporuje řadu replikačních topologií, přičemž topologie Master / Slave je jednou z nejznámějších topologií, v nichž jeden databázový server funguje jako master, zatímco jeden nebo více serverů funguje jako slave. Ve výchozím nastavení je replikace asynchronní, kde hlavní server odešle události, které popisují modifikace databáze do jeho binárního protokolu, a slave si je vyžádají, když jsou připraveny.

Tento tutoriál popisuje základní příklad replikace MySQL Master / Slave s jedním masterem a jedním slave serverem na Ubuntu 18.04. Stejné kroky platí i pro MariaDB.

Tento typ topologie replikace je nejvhodnější pro nasazení replik čtení pro škálování čtení, zálohování živých databází pro zotavení po katastrofě a pro analytické úlohy.

Předpoklady

Tento příklad předpokládá, že máte dva servery se systémem Ubuntu 18.04, které spolu mohou komunikovat prostřednictvím soukromé sítě. Pokud váš poskytovatel hostingu nenabízí soukromé adresy IP, můžete použít veřejné adresy IP a nakonfigurovat bránu firewall tak, aby umožňovala provoz na portu 3306 pouze z důvěryhodných zdrojů.

Servery v tomto příkladu mají následující adresy IP:

Master IP: 192.168.121.190 Slave IP: 192.168.121.236

Nainstalujte MySQL

Výchozí úložiště Ubuntu 18.04 zahrnuje MySQL verze 5.7. Chcete-li se vyhnout jakýmkoli problémům, je nejlepší nainstalovat stejnou verzi MySQL na oba servery.

Nainstalujte MySQL na hlavní server:

sudo apt-get update sudo apt-get install mysql-server

Nainstalujte MySQL na slave server pomocí stejných příkazů:

sudo apt-get update sudo apt-get install mysql-server

Nakonfigurujte hlavní server

Prvním krokem je konfigurace hlavního serveru MySQL. Provedeme následující změny:

  • Nastavte server MySQL tak, aby poslouchal na soukromé IP. Nastavte jedinečné ID serveru.. Povolte binární protokolování

Chcete-li tak učinit, otevřete konfigurační soubor MySQL a odkomentujte nebo nastavte následující:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf master: /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

Po dokončení restartujte službu MySQL, aby se změny projevily:

sudo systemctl restart mysql

Dalším krokem je vytvoření nového uživatele replikace. Přihlaste se k MySQL serveru jako uživatel root zadáním:

sudo mysql

Z vnitřku řádku MySQL spusťte následující dotazy SQL, které vytvoří uživatele replica a udělí uživateli oprávnění REPLICATION SLAVE :

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

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236'; Ujistěte se, že změníte IP svou podřízenou IP adresou. Můžete uživatele pojmenovat, jak chcete.

Zatímco jste stále v řádku MySQL, spusťte následující příkaz, který vytiskne binární název souboru a pozici.

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)

Poznamenejte si název souboru 'mysql-bin.000001' a pozici '629'. Tyto hodnoty budete potřebovat při konfiguraci podřízeného serveru. Tyto hodnoty se pravděpodobně budou na vašem serveru lišit.

Nakonfigurujte server Slave

Stejně jako u výše uvedeného hlavního serveru provedeme na podřízeném serveru následující změny:

  • Nastavte server MySQL tak, aby na soukromé IPSet poslouchal jedinečný server IDEnable binární protokolování

Otevřete konfigurační soubor MySQL a upravte následující řádky:

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

Restartujte službu MySQL:

sudo systemctl restart mysql

Dalším krokem je konfigurace parametrů, které podřízený server použije pro připojení k hlavnímu serveru. Přihlásit se do prostředí MySQL:

sudo mysql

Nejprve zastavte podprocesová vlákna:

STOP SLAVE;

Spusťte následující dotaz, který nastaví slave pro replikaci masteru:

MASTER_HOST='192.168.121.190', 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;

Ujistěte se, že používáte správnou IP adresu, uživatelské jméno a heslo. Název a umístění souboru protokolu musí být stejné jako hodnoty získané z hlavního serveru.

Po dokončení spusťte podprocesová vlákna.

START SLAVE;

Vyzkoušejte konfiguraci

V tomto okamžiku byste měli mít funkční nastavení replikace Master / Slave.

Abychom ověřili, že vše funguje podle očekávání, vytvoříme novou databázi na hlavním serveru:

sudo mysql

CREATE DATABASE replicatest;

Přihlásit se do shellu MySQL:

sudo mysql

Spusťte následující příkaz a seznam všech databází:

SHOW DATABASES;

Všimněte si, že databáze, kterou jste vytvořili na hlavním serveru, je replikována na slave:

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

Závěr

V tomto tutoriálu jsme vám ukázali vytvoření replikace MySQL Master / Slave.

Pokud máte nějaké dotazy, neváhejte a zanechte komentář.

ubuntu mysql mariadb