Android

MySQL (mariadb) Master nasıl yapılandırılır

Что нового в Debian 10?

Что нового в Debian 10?

İçindekiler:

Anonim

MySQL çoğaltma, bir veritabanı sunucusundan (ana) bir veya daha fazla sunucuya (slave) veri kopyalama işlemidir.

MySQL birkaç çoğaltma topolojisini destekler; Master / Slave topolojisi, bir veritabanı sunucusunun master olarak hareket ettiği en iyi bilinen topolojilerden biri olurken, bir veya daha fazla sunucunun slave işlevi görür. Varsayılan olarak, ana verilerin ikili günlüğüne veritabanı değişikliklerini açıklayan olaylar gönderdiği ve köle hazır olduklarında olayları istediği yerlerde çoğaltma zaman uyumsuzdur.

Bu kılavuzda, Debian 10'da bir master ve bir slave sunucu ile MariaDB Master / Slave çoğaltmanın nasıl kurulacağını göstereceğiz. MariaDB, Debian'daki MySQL'in varsayılan uygulamasıdır. Aynı adımlar Oracle MySQL için de geçerlidir.

Bu tür çoğaltma topolojisi, okuma ölçeklendirme, olağanüstü durum kurtarma için canlı veritabanları yedekleme ve analitik işleri için okuma kopyalarının dağıtılması için en uygun yöntemdir.

Ön şartlar

Debian 10 çalıştıran ve birbirinizle özel bir ağ üzerinden iletişim kuran iki sunucunuz olduğunu varsayıyoruz. Barındırma sağlayıcınız özel IP adreslerini desteklemiyorsa, genel IP adreslerini kullanabilir ve güvenlik duvarınızı 3306 numaralı bağlantı noktasında yalnızca güvenilir kaynaklardan gelen trafiğe izin verecek şekilde yapılandırabilirsiniz.

Bu örnekte kullanılan sunucular aşağıdaki IP adreslerine sahiptir:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

MariaDB Kurulumu

Varsayılan Debian 10 depoları MariaDB sürüm 10.3'ü içerir. Potansiyel sorunları önlemek için her iki sunucuya da aynı MariaDB sürümünü yüklemek en iyisidir.

Aşağıdaki komutları vererek MariaDB'yi hem master hem de slave'e kurun:

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

Ana Sunucuyu Yapılandırma

İlk adım, ana sunucuyu kurmaktır. Aşağıdaki değişiklikleri yapacağız:

  • MariaDB sunucusunu özel IP'de dinleyecek şekilde ayarlayın. Benzersiz bir sunucu kimliği ayarlayın. İkili günlük kaydını etkinleştirin.

MariaDB yapılandırma dosyasını açın ve şu satırları kaldırın veya aşağıdaki satırları ayarlayın:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf ana: /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

Tamamlandığında, dosyayı kaydedin ve değişikliklerin geçerli olması için MySQL hizmetini yeniden başlatın:

sudo systemctl restart mariadb

Bir sonraki adım, yeni bir çoğaltma kullanıcısı oluşturmaktır. MariaDB sunucusunda kök kullanıcı olarak oturum açın:

sudo mysql

replica adlı bir kullanıcı oluşturmak ve kullanıcıya REPLICATION SLAVE ayrıcalığı vermek için aşağıdaki SQL sorgularını çalıştırın:

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

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; IP'yi bağımlı IP adresinizle değiştirdiğinizden emin olun. Kullanıcıyı istediğiniz gibi adlandırabilirsiniz.

Hala MySQL isteminin içindeyken, ikili dosya adını ve konumunu yazdıracak aşağıdaki komutu yürütün.

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)

'Mysql-bin.000001' dosya adını ve '328' konumunu not edin. Bu değerler, bağımlı sunucuyu yapılandırırken gereklidir ve muhtemelen sunucunuzda farklı olacaktır.

Slave Sunucusunu Yapılandırma

Slave sunucuda master'daki değişikliklerle aynı değişiklikleri yapacağız:

  • Özel IP'de dinlemek için MySQL sunucusunu ayarlayın. Benzersiz bir sunucu kimliği ayarlayın. İkili günlük kaydını etkinleştirin.

MariaDB yapılandırma dosyasını açın ve aşağıdaki satırları düzenleyin:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf Köle: /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

MariaDB hizmetini yeniden başlatın:

sudo systemctl restart mariadb

Sonraki adım, bağımlı sunucunun ana sunucuya bağlanmak için kullanacağı parametreleri yapılandırmaktır. MariaDB kabuğuna giriş:

sudo mysql

Köle konularını durdurarak başlayın:

STOP SLAVE;

Ana / Bağımlı çoğaltmayı yapılandırmak için aşağıdaki sorguyu çalıştırın:

MASTER_HOST='10.10.8.12', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328;

Doğru IP adresini, kullanıcı adını ve şifreyi kullandığınızdan emin olun. Günlük dosyası adı ve konumu, ana sunucudan aldığınız değerlerle aynı olmalıdır.

Tamamlandığında, köle dişlerini başlatın.

START SLAVE;

Yapılandırmayı Test Edin

Bu noktada, çalışan bir Master / Slave çoğaltma kurulumuna sahip olmalısınız.

Her şeyin doğru şekilde kurulduğunu doğrulamak için ana sunucuda yeni bir veritabanı oluşturun:

sudo mysql

CREATE DATABASE replicatest;

Slave MySQL kabuğuna giriş:

sudo mysql

Tüm veritabanlarını listelemek için aşağıdaki komutu çalıştırın:

SHOW DATABASES;

Ana sunucuda oluşturduğunuz veritabanının slave üzerinde çoğaltıldığını göreceksiniz:

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

Sonuç

Bu eğitimde, Debian 10'da bir MariaDB Master / Slave replikasyonu oluşturduğunuzu gösterdik.

Herhangi bir sorunuz varsa yorum bırakmaktan çekinmeyin.

debian mysql mariadb