RHEL 8'de MySQL Master-Slave Çoğaltma Nasıl Kurulur


MySQL Çoğaltma, bir sunucudaki verilerin otomatik olarak başka bir yedekleme sunucusuna gerçek zamanlı olarak kopyalandığı veya çoğaltıldığı bir işlemdir. Çoğaltma, yedeklilik ve hata toleransı sağlar ve kullanıcıya, ana sunucudaki bir arızadan sonra bile verilerin kurtarılabileceği konusunda gönül rahatlığı sağlar.

Bu eğitimde, RHEL 8 Linux'ta MySQL master-slave çoğaltmasının nasıl yapılandırılacağını ve kurulacağını öğreneceksiniz.

Önkoşullar

Kurulumda aşağıdaki IP adresleriyle RHEL 8 çalıştıran iki sunucumuz olacak.

Master = 173.82.120.14
Slave  = 173.82.115.165

Şimdi devam edelim ve RHEL 8 Linux'ta MySQL Master-slave replikasyon kurulumunu nasıl yapılandırabileceğimizi görelim.

Adım 1: MySQL'i Master ve Slave Sunucuya yükleyin

1. MySQL 8.x'in en son sürümü zaten RHEL 8'in varsayılan deposuna eklenmiştir ve bunu aşağıdakileri kullanarak yükleyebilirsiniz: yum komutu.

yum -y install @mysql

Adım 2: MySQL'i Master ve Slave Sunucuda Güvenli Hale Getirin

Kurulumdan sonra artık yeni kurduğunuz MySQL hizmetini başlatmalı ve sunucuyu her başlattığınızda otomatik olarak başlamasını sağlamalısınız. Bu nedenle aşağıdaki komutu kullanın.

systemctl enable mysqld
systemctl start mysqld

Daha sonra, root şifresini ayarlamak, anonim kullanıcıları kaldırmak, uzaktan root girişine izin vermemek, test veritabanını kaldırmak ve ayrıcalığı yeniden yüklemek gibi çeşitli güvenlik tabanlı işlemlerle birlikte gelen güvenlik komut dosyasını çalıştırarak MySQL kurulumunuzu güvence altına almanız gerekir.

mysql_secure_installation

İstemin geri kalanına devam edin ve tüm soruları Evet olarak yanıtlayın; böylece sunucuyu en iyi güvenlik uygulamalarına göre ayarlayın.

Adım 3: MySQL Ana Sunucusunu Yapılandırma

Ana sunucu yapılandırmasıyla başlamak için devam edin ve aşağıdaki komutu yazarak MySQL yapılandırma dosyasını açın.

sudo vim /etc/my.cnf

mysqld bölümünde satırları aşağıda gösterildiği gibi ekleyin.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

Son olarak MySQL hizmetini yeniden başlatın.

sudo systemctl restart mysqld

Şimdi bir replikasyon kullanıcısı oluşturacağız. Bu nedenle, MySQL ana sunucunuzda kök kullanıcı olarak oturum açın ve şifreyi girin.

sudo mysql -u root -p

Şimdi, kopya kullanıcıyı oluştururken aynı zamanda kullanıcıya yardımcı erişim izni vermek için aşağıdaki komutları çalıştırın. Makinenizin IP adresini kullanmayı unutmayın.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Şimdi ikili dosya adını ve konumunu yazdıracak aşağıdaki komutu yazacaksınız.

mysql> SHOW MASTER STATUS\G

Ortaya çıkan msql-bin.000002 dosya adını ve 939 konumunu not almayı unutmayın.

Adım 4: MySQL Slave Sunucusunu Yapılandırma

Master'ı kurma işleminde olduğu gibi, MySQL Slave konfigürasyon dosyasında da aşağıdaki değişiklikleri yapmalısınız.

sudo vim  /etc/my.cnf

Aşağıdaki satırları mysqld bölümünün altındaki yapılandırma dosyasına ekleyin.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

Sunucuyu yeniden başlatın.

sudo systemctl restart mysqld

Şimdi bir sonraki adım, yardımcı sunucuyu Ana sunucudan çoğaltacak şekilde yapılandırmaktır. MySQL sunucusuna giriş yapın.

sudo mysql -u root -p

İlk önce çoğaltma iş parçacıklarını durdurun.

mysql> STOP SLAVE;

Şimdi, ikincil sunucuyu Ana sunucudan çoğaltacak şekilde yapılandıracak aşağıdaki sorguyu çalıştırın.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='Jupiter@2030' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Doğru IP kullanıcı adını ve şifresini kullandığınızdan emin olun. Ayrıca ana sunucudan aldığınız dosya adını ve konumunu kullanın.

Son olarak, bağımlı iş parçacıklarını başlatmak için aşağıdaki komutu yazın.

mysql> START SLAVE;

Adım 5: MySQL Master-Slave Replication'ın test edilmesi

Bu noktada, hem ana hem de köle sunucularının yapılandırmasını tamamladınız. Şimdi yapılandırmanın çalışıp çalışmadığını ve çoğaltmanın gerçekleşip gerçekleşemeyeceğini doğrulamamız gerekiyor.

Bunu yapmak için ana sunucuya gidin ve MySQL veritabanı sunucusunda oturum açın.

sudo mysql -u root -p

Örnek bir veritabanı oluşturun.

mysql> CREATE DATABASE replication_database;

Şimdi Slave sunucusuna gidin ve MySQL veritabanı sunucusunda tekrar oturum açın.

sudo mysql -u root -p

Şimdi aşağıdaki komutu kullanarak tüm veritabanlarını listeleyin.

mysql> SHOW DATABASES;

Oluşturulan veritabanını görüyorsanız MySQL Master-Slave Replication kurulumu çalışıyor demektir.

Çözüm

Çoğaltma, kolayca yapılabilecek oldukça basit bir işlemdir. Bu kılavuzda, RHEL 8 Linux'ta MySQL ana biriminin ikincil öğeye kopyasını nasıl oluşturabileceğinizi öğrendiniz.