MySQL Veri Replikasyonu: Adım Adım Kılavuz
MySQL veri replikasyonu, bir veritabanını birden fazla sunucuya kopyalayarak veri yedekleme, yük dengeleme ve yüksek kullanılabilirlik sağlamak amacıyla sıkça kullanılan bir yöntemdir. Bu kılavuzda, MySQL replikasyonunun nasıl yapılandırılacağını adım adım ele alacağız ve karşılaşabileceğiniz olası hataların çözümlerine ilişkin ipuçları sunacağız.
MySQL Veri Replikasyonu Nedir?
MySQL replikasyonu, bir ana sunucudaki (master) değişikliklerin bir veya daha fazla ikincil sunucuya (slave) kopyalanmasını içine alan bir süreçtir. Bu süreç sayesinde, okuma yükü dağıtılabilir ve veri yedekliliği artırılabilir. Ayrıca, bir sunucu arızası durumunda veri kaybı önlenebilir ve kesinti süresi minimize edilir.
Replikasyon Türleri
1. Single-Master Multi-Slave: En basit formda, bir ana sunucu ve birden fazla ikincil sunucu bulunur.
- Multi-Master Replication: İki veya daha fazla ana sunucu, her birine bağlı ikincil sunucular ile veri paylaşır.
MySQL Replikasyonu İçin Gereksinimler
– MySQL sürümünüzün replikasyonu desteklediğinden emin olun.
– Ağ bağlantısının güvenilir ve hızlı olması gereklidir.
– Sunucuların saatlerinin senkronize olduğuna dikkat edin.
Replikasyon Adımları
Adım 1: Ana Sunucu (Master) Yapılandırması
1. MySQL ayar dosyanız my.cnf
veya my.ini
içerisinde bind-address
ayarını tüm IP adreslerinden erişime izin verecek şekilde güncelleyin.
“`
[mysqld]
bind-address = 0.0.0.0
“`
2. Ana sunucunun benzersiz bir server-id'''ye sahip olması gerektiği için, .cnf
dosyanıza bir server-id
ekleyin:
“`
[mysqld]
server-id = 1
log-bin = mysql-bin
“`
3. Replikasyon kullanıcısını ve ilişkili yetkilerini oluşturun:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'strongpassword'; GRANT REPLICATION SLAVE ON . TO 'replication_user'@'%'; FLUSH PRIVILEGES;
4. Mevcut veritabanınızı yedekleyin ve oluşturduğunuz yedeği ikincil sunuculara taşıyın.
Adım 2: İkincil Sunucu (Slave) Yapılandırması
1. Her ikincil sunucu için benzersiz bir server-id
ayarlayın. Örneğin:
“`
[mysqld]
server-id = 2
“`
2. Ana sunucuya bağlantı kurmak için kullanılacak verileri ayarlayın:
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='strongpassword', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;
3. İkincil sunucuyu başlatın:
START SLAVE; SHOW SLAVE STATUS\G
Replikasyonun başarıyla kurulduğundan emin olmak için ikincil sunucuda Slave_IO_Running
ve Slave_SQL_Running
her ikisinin de Yes
değerinde olduğunu kontrol edin.
Olası Hatalar ve Çözümler
– Hata: Error 1236 – Client_NET_READ_TIMEOUT
– Çözüm: İstemci-sunucu arasındaki zaman aşımı süresini artırın veya ağ bağlantısını kontrol edin.
– Hata: Slave_SQL_Running: No
– Çözüm: SHOW SLAVE STATUS\G
çıktısını analiz ederek belirtilen hatayı çözün ve ardından START SLAVE;
komutunu tekrar çalıştırın.
İleri Seviye İpuçları
– Replikasyon yapılandırmanızı sürekli izleyerek herhangi bir sorun çıkması durumunda hızlıca müdahale edin.
– Cloud Sunucu kullanarak veri yedekliliği ve güvenliğini üst seviyelere taşıyabilirsiniz.
– Performans izleme ve yük dengelemesi için uygun donanım ve yazılım kombinasyonlarını değerlendirin, örneğin bir Sanal Sunucu ile.
MySQL replikasyonu, genişleyen veritabanı ihtiyaçlarına uyum sağlamak için etkili bir çözümdür. Yukarıdaki adımları dikkatlice uygulayarak, veri replikasyonunu güvenli ve verimli bir şekilde yapılandırabilirsiniz. Unutmayın, doğru donanım ve destek için VDS Sunucu gibi çözümleri değerlendirebilirsiniz.