MySQL Auto-Increment Replikasyonu

Merhaba arkadaşlar uzun bir aradan sonra mysql’de replikasyon yaptığımızda verilerin (aslında id diye belirttiğimiz benzersiz alanların) çakışmaması için ne yapılması gerektiğini(MySQL Auto-Increment Replikasyonu) ele alacağız.

Oldukça basit bir kullanımı var. Kaç veritabanı sunucusu olduğu ve hangi sırada olduğunu belirteceğiz. Ardıdan işlemi tamamlamış olacağız.

MySQL Auto-Increment Replikasyonu Başlıyoruz:

my.cnf ve my.ini dosyamızı açıyoruz.(Varsayılan Konum: Ubuntu: /etc/my.cnf; Windows: C:/ProgramData/MySQL/MySQL Server x.x/my.ini)

auto_increment_increment
auto_increment_offset

Bu iki satırı ekleyerek işlemi tamamlayacağız. Fakat bunu bütün replikasyondaki sunucularımıza yapmamız gerekiyor.

auto_increment_increment Kaç tane sunucumuz varsa onu yazıyoruz.
auto_increment_offset Her sunucuya benzersiz index numarası diyebiliriz. 3 tane replikasyonda cihazımızın olduğunu düşünürsek; sırayla 1-2-3 vermemiz gerekiyor.

3 serverimiz olduğunu ve bunlara A,B,C diye isimlendirdiğimizi varsayıyorum.

A Server

 

B Server

 

C Server

 

Configrasyon dosyalarını bu şekilde ayarladıktan sonra hepsini restart ediyoruz.

Burda gerçekleşen işlemi bahsetmek gerekirse;

AI=(AI_increment*artan AI)+AI_offset
(AI=autoincrement değeri)

Yani 3 serverda da;

Server A=(3*1)+1 //4
Server B=(3*1)+2 //5
Server C=(3*1)+3 //6

Server A=(3*2)+1 //7
Server B=(3*2)+2 //8
Server C=(3*2)+3 //9

Bu şekilde sürekli artarak gidecektir. Görüldüğü üzere asla farklı serverler asla birbiri ile çakışmayacaktır.

Daha fazla bilgi için: http://dev.mysql.com/doc/refman/5.7/en/replication-options-master.html

Biraz karışık anlattım sanırım; affola 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir