🚀 Linux ve Windows sunucularda yeni müşterilere özel %20 indirim! Kod: ILK20  |  Hemen sipariş ver →
database Veritabanı Yönetimi

MySQL Master-Slave Replication Nasıl Yapılır?

MySQL Master-Slave replikasyon kurulumu adım adım anlatılıyor. Yük dengeleme, yedekleme ve veritabanı performansı için ideal çözüm.

person
Editör
(Güncellendi: 26 Tem 2026) schedule 4 dk okuma visibility 20 görüntülenme

MySQL veritabanı yönetiminde master-slave replikasyon kurulumu, özellikle yüksek trafik alan web siteleri ve kritik uygulamalar için vazgeçilmez bir yöntemdir. Bu yapı sayesinde ana veritabanına (master) yazılan tüm veriler, anında bir veya daha fazla yedek veritabanına (slave) kopyalanır. Peki, bu replikasyon nasıl gerçekleştirilir? İşte adım adım anlatım.

Neden Master-Slave Replikasyon?

Master-slave replikasyonun en büyük avantajlarından biri, okuma yükünü slave sunuculara dağıtarak master üzerindeki baskıyı azaltmasıdır. Örneğin, bir e-ticaret sitesinde ürün listeleme gibi okuma işlemleri slave üzerinden yapılırken, sipariş oluşturma gibi yazma işlemleri master'da kalır. Ayrıca, master sunucusu çökerse, slave'i hızlıca master yaparak kesintisiz hizmet sağlayabilirsiniz.

Master Sunucusunu Hazırlama

Öncelikle master sunucuda replikasyon için gerekli ayarları yapalım. MySQL konfigürasyon dosyasını (genelde /etc/mysql/my.cnf veya /etc/my.cnf) açın ve aşağıdaki parametreleri ekleyin:

  • server-id: 1 (master için benzersiz bir ID)
  • log-bin: /var/log/mysql/mysql-bin.log (binary log dosyasının yolu)
  • binlog-do-db: replike edilecek veritabanı adı (isteğe bağlı)

Örnek bir yapılandırma:

[mysqld] server-id = 1 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = myapp

Ardından MySQL'i yeniden başlatın: sudo systemctl restart mysql

Replikasyon Kullanıcısı Oluşturma

Master sunucuda slave'in bağlanacağı bir kullanıcı oluşturmalısınız. MySQL'e root kullanıcıyla bağlanın ve şu komutları çalıştırın:

CREATE USER 'replica'@'%' IDENTIFIED BY 'güçlü_şifre'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; FLUSH PRIVILEGES;

Burada '%' tüm IP'lerden bağlantıya izin verir; güvenlik için belirli bir IP adresi kullanmanız önerilir.

Master Durum Bilgilerini Alma

Slave kurulumunda kullanmak üzere master'ın binary log dosya adı ve pozisyonunu alın:

SHOW MASTER STATUS;

Çıktıdaki File ve Position değerlerini not edin. Örneğin: File: mysql-bin.000001, Position: 107

Slave Sunucusunu Hazırlama

Şimdi slave sunucuya geçin. Konfigürasyon dosyasına şu satırları ekleyin:

  • server-id: 2 (master'dan farklı olmalı)
  • relay-log: /var/log/mysql/mysql-relay-bin.log

Örnek:

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

MySQL'i yeniden başlatın.

Slave Bağlantısını Ayarlama

Master'dan aldığınız bilgilerle slave'i master'a bağlayın. MySQL'e root olarak bağlanın ve şu komutu çalıştırın:

CHANGE MASTER TO MASTER_HOST='master_ip_adresi', MASTER_USER='replica', MASTER_PASSWORD='güçlü_şifre', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;

Ardından slave'i başlatın:

START SLAVE;

Replikasyon durumunu kontrol etmek için:

SHOW SLAVE STATUS\G;

Çıktıda Slave_IO_Running ve Slave_SQL_Running değerleri Yes olmalıdır. Aksi halde hata mesajını inceleyin.

Karşılaşılabilecek Sorunlar ve Çözümleri

  • Firewall engeli: Master sunucunun 3306 portunun slave'den erişime açık olduğundan emin olun.
  • server-id çakışması: Tüm sunucularda unique server-id kullanın.
  • Binary log pozisyon uyumsuzluğu: Eğer slave zaten eski veri içeriyorsa, master'dan bir dump alıp slave'e yükleyin, ardından doğru pozisyon ile bağlayın.

Önemli: Canlı sistemlerde replikasyon kurarken mutlaka yedek alın ve işlemi düşük trafik saatlerinde yapın.

Sonuç

Master-slave replikasyon, HostingServer.com.tr olarak müşterilerimize önerdiğimiz temel veritabanı yönetimi tekniklerindendir. Bu yapı sayesinde uygulamalarınızın performansını artırabilir, veri kaybı riskini azaltabilirsiniz. Kurulum sonrası düzenli olarak replikasyon durumunu kontrol etmeyi unutmayın. Unutmayın, doğru yapılandırma ve izleme ile MySQL replikasyonu sizi büyük dertlerden kurtarır.

Bu Makaleyi Paylaş

İlgili Yazılar