MySQL Replikasyonu Nedir?
MySQL replikasyonu, bir veritabanındaki verilerin birden fazla sunucuya kopyalanması işlemi olarak tanımlanabilir. Bu işlem, veritabanı performansını artırmak, veri güvenliğini sağlamak ve sistem arızalarına karşı dayanıklılığı artırmak için oldukça kullanışlıdır. Hadi gelin, MySQL replikasyonunun temellerine göz atalım ve nasıl kurulduğunu adım adım keşfedelim.
MySQL Replikasyonu Kurmanın Adımları
Adım 1: Master Sunucusunun Hazırlanması
İlk olarak, replikasyon yapacağımız veritabanının ana kaynağı (master) olan sunucuyu hazırlamamız gerekiyor. Master sunucusunun 'binary logging' özelliğinin açık olması gerekmektedir. Bu özellik, sunucudaki tüm değişikliklerin kaydedilmesini sağlar. İşte bunu nasıl yapacağınız:
[mysqld]
log-bin=mysql-bin
server-id=1
Adım 2: Slave Sunucusunun Hazırlanması
Slave (köle) sunucusunun da bir ön hazırlığa ihtiyacı vardır. İlk olarak, master sunucusundaki verileri alabilmesi için ‘server-id’ parametresinin farklı bir değerde olması gerekir. Slave sunucusunda şu yapılandırmayı yapın:
[mysqld]
server-id=2
Adım 3: Kullanıcı Oluşturma ve Yetki Verme
Master sunucusunda replikasyon için kullanılacak bir kullanıcı oluşturmanız gerekir. Bu kullanıcıya, replikasyon yapabilmesi için gerekli olan "REPLICATION SLAVE" yetkisini vermelisiniz:
CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
Adım 4: Master Sunucusundaki Veri Durumunu Kaydetme
Slave sunucusunun doğru verileri alabilmesi için master sunucusundaki mevcut durumunu öğrenmeniz gerekiyor. Bunun için şu komutu kullanabilirsiniz:
SHOW MASTER STATUS;
Bu komut size, master sunucusundaki "File" ve "Position" bilgilerini verecek. Bu bilgileri not almanız önemli, çünkü slave sunucusunda bu bilgileri kullanacağız.
Adım 5: Slave Sunucusunda Replikasyon Başlatma
Slave sunucusunda master sunucusundan veri almak için şu komutu kullanarak bağlantıyı başlatabilirsiniz:
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='repl',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 106;
Bu komut, slave sunucusunu master sunucusuna bağlar ve replikasyonu başlatır.
Adım 6: Replikasyonu Başlatmak
Son adımda ise replikasyonu başlatmanız gerekmektedir. Slave sunucusunda şu komutu çalıştırarak replikasyonu başlatabilirsiniz:
START SLAVE;
Ve işte bu kadar! Replikasyonun başarılı bir şekilde başladığını kontrol etmek için şu komutu kullanabilirsiniz:
SHOW SLAVE STATUS\G
Eğer "Slave_IO_Running" ve "Slave_SQL_Running" değerleri "Yes" olarak gözüküyorsa, replikasyon düzgün bir şekilde çalışıyor demektir.
MySQL Replikasyonunun Avantajları
MySQL replikasyonu, birçok farklı fayda sağlar. İşte bazıları:
1. Yedeklilik ve Veri Güvenliği: Veritabanı arızalarına karşı veri kaybını önler, çünkü veriler birden fazla sunucuya kopyalanır.
2. Yük Dengeleme: Okuma işlemlerini slave sunucularına yönlendirerek master sunucusunun yükünü hafifletebilirsiniz.
3. Yedekleme: Replikasyon ile veri yedeklemesi yapılabilir, bu da anında veri kurtarma sağlar.
Sonuç
MySQL replikasyonu, büyük veri tabanı sistemlerinde performans ve güvenlik açısından oldukça önemli bir özelliktir. Doğru yapılandırıldığında, veritabanlarınızı daha güvenilir ve ölçeklenebilir hale getirebilir. Bu yazıda, replikasyonu nasıl kuracağınızı adım adım inceledik. Şimdi kendi projelerinizde bu bilgileri uygulayarak daha sağlam bir veritabanı altyapısı oluşturabilirsiniz!