Genel MySQL

MySQL Veritabanı Replikasyonu Nasıl Yapılır

MySQL Veritabanı Replikasyonu Nasıl Yapılır

MySQL Veritabanı Replikasyonu Nasıl Yapılır?

MySQL veritabanı replikasyonu, veri güvenliğini artırmak, yüksek erişilebilirlik sağlamak ve yük dengelemesi yapmak için kullanılan güçlü bir tekniktir. Bu süreç, ana (master) veritabanından bir veya daha fazla ikincil (slave) veritabanına veri kopyalayarak gerçekleştirilir. Özellikle yüksek trafik alan uygulamalar için ideal bir çözüm sunan MySQL replikasyonu, doğru yapılandırıldığında projelerinizi kesintisiz olarak destekler.

MySQL Replikasyonuna Giriş

Replikasyon, bir MySQL sunucusunda yapılan değişikliklerin başka bir MySQL sunucusuna kopyalanması işlemidir. Bu işlem genellikle aşağıdaki amaçlarla kullanılır:

1. Yüksek Erişilebilirlik: Ana sunucuda bir sorun oluştuğunda, ikincil sunucu hızlıca devreye girer.

  1. Yük Dengeleme: Okuma operasyonları, ikincil sunucular arasında dağıtılarak yük dengelenir.
3. Veri Yedeği: Ana sunucu verileri kaybederse, veri kaybını önlemek için ikincil sunucu veri yedeği olarak kullanılabilir.

Replikasyon Türleri

MySQL’de iki ana replikasyon türü vardır:

Senkron Replikasyon: Değişiklikler hem ana hem de ikincil sunucularda eş zamanlı uygulanır.
Asenkron Replikasyon: Ana sunucuda yapılan değişiklikler, ikincil sunucuya sonradan kopyalanır. Bu, genellikle daha düşük ağ gecikmesine ve daha iyi performansa olanak tanır.

MySQL Replikasyonunu Adım Adım Kurma

1. Ana Sunucunun Yapılandırılması

Ana sunucuda (master) replikasyonu etkinleştirmek için aşağıdaki adımları izleyin:

MySQL Ayar Dosyasını Düzenleyin

MySQL yapılandırma dosyasında (genellikle my.cnf veya my.ini) aşağıdaki ayarları yapın:

[mysqld]
log-bin = mysql-bin
server-id = 1
binlog-do-db = mydatabase

log-bin: Binlog (ikili günlük) dosyalarının oluşturulmasını sağlar.
server-id: Sunucunun benzersiz bir kimliği olması gereklidir.
binlog-do-db: Replikasyona dahil edilecek veritabanını belirtir.

Ana Kullanıcı Oluşturun

Ana sunucuda replikasyon için bir kullanıcı oluşturun ve uygun yetkileri verin:

CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON . TO 'repl_user'@'%';

2. İkincil Sunucunun Yapılandırılması

İkincil sunucuda (slave) aşağıdaki adımları takip edin:

MySQL Ayar Dosyasını Düzenleyin

İkincil sunucu yapılandırma dosyasını düzenleyin:

[mysqld]
server-id = 2
relay-log = mysql-relay

server-id: Her sunucu için benzersiz bir kimlik belirleyin.
relay-log: Replikasyon için aktarma günlüğünü tanımlar.

İkincil Sunucuyu Başlatın

Ana sunucuda iken replikasyon durumunu görüntüleyin ve ikincil sunucuyu bu bilgilere göre başlatın:

CHANGE MASTER TO
MASTER_HOST = 'master_ip',
MASTER_USER = 'repl_user',
MASTER_PASSWORD = 'password',
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS =  154;
  
START SLAVE;

MASTER_LOG_FILE ve MASTER_LOG_POS değerlerini, ana sunucudaki SHOW MASTER STATUS komutu ile öğrenebilirsiniz.

Replikasyonu Kontrol Edin

Kurduğunuz replikasyonu kontrol etmek için aşağıdaki komutu kullanarak durumunu inceleyin:

SHOW SLAVE STATUS \G;

Bu komut, replikasyonun durumu ve karşılaşılan olası hatalar hakkında bilgi verir.

3. Sunucu Seçimi ve Barındırma

MySQL replikasyonu için güvenilir ve performanslı sunuculara ihtiyaç duyabilirsiniz. Windows sanal sunucu ya da VDS sunucu hizmetlerinden faydalanarak projenizin sorunsuz çalışmasını sağlayabilirsiniz. Uygulamanızın ihtiyaçlarına göre bulut sunucu seçeneklerini de değerlendirebilirsiniz.

Özet

MySQL replikasyonu, veri güvenliği ve yüksek erişilebilirlik sağlama konusunda etkin bir çözüm sunar. Replikasyonu doğru bir şekilde yapılandırarak veritabanı yönetiminde daha esnek ve güvenilir bir sisteme sahip olabilirsiniz. Yukarıda paylaşılan adımları izleyerek MySQL replikasyonunu kendi ortamınızda etkin bir şekilde kurabilirsiniz. İyi yapılandırılmış bir replikasyon sistemi, performansınızı optimize ederken veri kaybı riskini de minimize eder.