Genel MySQL

MySQL Veri Replikasyonu: Adım Adım Kılavuz

MySQL Veri Replikasyonu: Adım Adım Kılavuz

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.

  1. Multi-Master Replication: İki veya daha fazla ana sunucu, her birine bağlı ikincil sunucular ile veri paylaşır.
3. Circular Replication: Bir dairesel yapı oluşturarak verinin tüm sunucularda güncel kalmasını sağlar.

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.