MySQL Master-Slave Replikasyonu: (iki sunucuyu eşitle) Adım Adım Kurulum

MySQL master-slave replikasyonu, bir veritabanındaki değişikliklerin başka bir veritabanına kopyalanmasını sağlayan bir yöntemdir. Bu yöntem, veritabanı güvenliği ve erişilebilirliğini artırmak için kullanılır. Bu makalede, MySQL master-slave replikasyonunu nasıl kuracağınızı adım adım anlatacağız.

Veritabanı güvenliği ve erişilebilirliği için veritabanı replikasyonu oldukça önemli bir kavramdır. Replikasyon, bir veritabanındaki değişikliklerin başka bir veritabanına kopyalanmasını sağlayan bir işlemdir. Bu sayede, ana veritabanında meydana gelen değişikliklerin yedeği alınabilir ve olası bir arıza durumunda diğer veritabından erişilebilir hale getirilebilir.

MySQL veritabanı için master-slave replikasyonu, en yaygın kullanılan replikasyon türüdür. Bu yapıda, bir sunucu (master) ana veritabanını barındırırken, diğer sunucu (slave) değişiklikleri otomatik olarak master’dan kopyalar.

Bu makalede, MySQL master-slave replikasyonunu nasıl kuracağınızı adım adım anlatacağız.

Master Sunucu Ayarları

Master sunucuda aşağıdaki ayarları yapmanız gerekir:

  1. MySQL konfigürasyon dosyasını açın ve server-id ve log_bin değerlerini güncelleyin.

Ini, TOML

[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log

Kodu kullanırken dikkatli olun.

server-id değeri, her iki sunucu için de benzersiz olmalıdır. log_bin değeri, master sunucunun binary log dosyasının yolunu belirtir.

  1. Bir replikasyon kullanıcısı oluşturun.

SQL

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;

Kodu kullanırken dikkatli olun.

Bu kullanıcı, slave sunucunun master sunucuyla iletişim kurmasını sağlayacaktır.

  1. Veritabanını kilitleyin ve SHOW MASTER STATUS komutunu çalıştırın.

SQL

FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

Kodu kullanırken dikkatli olun.

Bu komut, master sunucunun binary log dosyasının durumunu görüntüler. Bu bilgiler, slave sunucuyu yapılandırmak için gereklidir.

Slave Sunucu Ayarları

Slave sunucuda aşağıdaki ayarları yapmanız gerekir:

  1. MySQL konfigürasyon dosyasını açın ve server-id ve relay-log değerlerini güncelleyin.

Ini, TOML

[mysqld]
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log

Kodu kullanırken dikkatli olun. 

server-id değeri, master sunucudaki server-id değerinden farklı olmalıdır. relay-log değeri, slave sunucunun relay log dosyasının yolunu belirtir.

  1. Slave sunucuyu yapılandırın.

Aşağıdaki komutu kullanarak, master sunucunun IP adresini, replikasyon kullanıcısının adını ve şifresini, master sunucunun binary log dosyasının adını ve konumunu belirtin.

SQL

CHANGE MASTER TO MASTER_HOST='master_ip_address', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='<MASTER_LOG_FILE>', MASTER_LOG_POS=<MASTER_LOG_POS>;

Kodu kullanırken dikkatli olun.

<MASTER_LOG_FILE> ve <MASTER_LOG_POS> değerlerini, master sunucudan alınan SHOW MASTER STATUS komutunun çıktısına göre güncelleyin.

Slave Sunucunun Durumunu Kontrol Etme

Slave sunucunun replikasyon durumunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

SQL

SHOW SLAVE STATUS\G;

Kodu kullanırken dikkatli olun. 

Bu komut, slave sunucunun replikasyon durumunu ayrıntılı olarak görüntüler. Slave_IO_Running ve Slave_SQL_Running değerlerinin “Yes” olması gerekir.

Master Sunucudaki Kilidi Kaldırma

Master sunucudaki kilidi kaldırmak için aşağıdaki komutu kullanın:

SQL

UNLOCK TABLES;

Kodu kullanırken dikkatli olun.

Bu adımları takip ederek, master sunucudaki değişiklikler otomatik olarak slave sunucuya iletilir. Replikasyon durumunu kontrol etmek ve olası hataları incelemek için SHOW SLAVE

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir