İpucu

CentOS Üzerinde MySQL Replication (Master-Slave) Kurulumu

CentOS'da (diğer Linux dağıtımlarında da çalışır) MySQL replication için bir Master ve bir Slave MySQL'i kurulması gerekir. 192.168.10.1 IP'sine Master için MySQL 5.5 , 192.168.10.2 IP'sine ise Slave için MySQL 5.5 kurulabilir. Kurulum işlemleri yapıldıktıktan sonra aşağıdaki işlemler yapılmalıdır

Master'da Slave MySQL'den replication yapılabilmesi için gerekli yetkilere sahip bir kullanıcı yaratılmalıdır : 

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'sifrem';
FLUSH PRIVILEGES; 

Yukarıdakini çalıştırarak hem replication için gerekli yetkiler veriyoruz hem de kullanıcıyı yaratıyoruz. 'slave_user'@'%' şeklinde tanımlanmasından dolayı slave_user herhangi bir IP'den istekte bulunabilir. Flush ile başlayan satır yetkilerin yenilenmesi için. Daha sonra restart işlemi zaten yapılacağında gerek olmayabilir.

Master MySQL'de my.cnf dosyasına (path'i /etc/my.cnf şeklinde) aşağıdakiler eklenmelidir : 

log-bin = mysql-bin
server-id = 1

Bu değişikliklerden sonra master MySQL'i restart edebilirsiniz

Slave MySQL'de my.cnf dosyasına (path'i /etc/my.cnf şeklinde) aşağıdakiler eklenmelidir : 

log-bin = mysql-bin
server-id = 2
relay-log = mysql-relay-bin
log-slave-updates = 1
read-only = 1

Slave MySQL'i restart edebilirsiniz

Bu işlemlerden sonra Slave MySQL'i master'daki durumdan başlatmak gerekiyor. Bunun için Master backup alınıp , Slave restore edilmesi gerekir. Aşağıdaki gibi bu işlem yapılabilir : 

mysqldump -u root -p --all-databases --master-data=2 > dbdump.db

dbdump.db dosyası slave MySQL'inin server'ına kopyalanıp , aşağıdaki ile restore işlemi yapılır : 

mysql -u root -p < dbdump.db

dbdump.db içeriğine bakarsanız aşağıdaki gibi bir satır görmeniz gerekmektedir : 

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=906;

Burada master'ın konum bilgisi bulunmaktadır. Slave MySQL'de replication'un hangi konumdan başlayacağını belirtmek için aşağıdaki komut çalıştırılması gerekmektedir : 

change master to master_host='192.168.10.1 ',  master_user='slave_user',  master_password='sifrem',  master_log_file='mysql-in.000006',  master_log_pos=906;

Bu işlemden sonra replication aşağıdaki komut ile başlatılır : 

start slave;

Replication ile ilgili bilgiyi show slave status komutunu çalıştırarak öğrenebilirsiniz

Test etmek için master MySQL'de bir veritabanı ve tablo yaratıp , içerik ekleyebilirsiniz. Eğer replication başarılı kuruldu ise yaptığınız işlemlerin aynen slave MySQL'de de olması gerekir

Bu çalışmada http://www.ovaistariq.net/565/setting-up-master-slave-replication-with-mysql/ makelesinden yararlanılmıştır. Master-Slave ortamı bu makale yardımıyla kurulmuş ve başarılı bir şekilde test edilmiştir.

 

 

zafer.teker , 27.09.2014

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir