29 Eylül 2010 Çarşamba

MySQL Replication Hakkında

Replikasyon, eş zamanlıya en yakın backup çözümüdür. Ayrıca okuma isteklerinin ana server dışı serverlere de
yayılması ile ana server in yükünün hafifletilmesi anlamında iyi bir seçenek olabilmektedir.

MySQL, version 5.1 itibariyle iki tür replikasyonu desteklemektedir.
Bunlar statement-based ve row-based replikasyondur.
Statement-based (veya “logical”) replikasyon MySQL 3.23 den beri bulunmaktadır ve
bugünkü çoğu production sisteminde kullanılan replikasyon tipidir.
Row-based replikasyon MySQL 5.1 ile gelen bir özelliktir.

Her iki replikasyon tipi de temelde aynı mantıkla çalışır.
Database üzerinde yapılan değişiklikler master (replike edilecek database)
a ait binary log dosyasına yazılır. Ardında bu değişiklik (event)
slave (kopya database) e uygulanır.

Statement based replication, masterda çalıştırılan ve databasete değişiklik yaratan
query lerin slave de aynen uygulanmasıdır.
Row based replication da ise, değişen data blokları slave e uygulanır.

Bugünlerde Row based replikasyon çok yeni olduğundan dolayı henüz pek yaygın kullanılmıyor.
Fakat gelecekte en az statement based replikasyon kadar yaygınlaşacağını düşünüyorum.

MySQL Replikasyon düşük versiyondan yüksek versiyona doğru genellikle sorunsuz çalışıken
tersi he zaman sorun anlamına gelir.
Tavsiyem master ve slave mysql versiyonlarının aynı olmasıdır.

Replikasyon master sistem üzerinde genellikle çok az yük oluşturur.
Tabi çok sayıda slave olması bu durumu değiştirebilir.

8 Eylül 2010 Çarşamba

Mysql database kapatma - açma (Linux)

MySQL server şu anki durumu
******************************
/etc/init.d/mysql status

MySQL server başlatma
******************************
/etc/init.d/mysql start

MySQL server durdurma
******************************
/etc/init.d/mysql stop


Bu işlemler root veya mysql kullanıcı ile gerçekleştirilebilir.

Oracle Enterprise Linux 5 üzerine MySQL Server 5.1 kurulumu

Mysql dökümantasyonunda belirtildiği gibi mysql linux üzerinde geliştirilmektedir.
Bu nedenle de linux, mysql kurulumu için en uygun ortam olmaktadır.
Burada kurulumu özellikle Oracle Enterprise Linux 5 üzerinde gerçekleştiriyorsakta
diğer linux dağıtımları için de prosedür aynıdır.

32 bir işletim sistemleri her proses için en çok 2.4 Gb memory ayırabilmektedir.
Bu nedenle pek çok kurulumda 64 bit işletim sistemi tercih edilmektedir.
Bizde burada 64 OEL dağıtımı üzerine MySQL server kurulumu tamamlıyor olacağız.

Linux üzerindeki MySQL server kurulumu için server ve client rpm paketlerinin kurulumu yeterlidir.
Kurulum aşağıdaki adımlardan oluşur.


* Gerekli RPM paketlerini bilgisayarımıza indiriyoruz.

1. http://dev.mysql.com/downloads/mysql/#downloads adresine gidiyoruz
2. Burada kurulumunu yapacağımız "Red Hat & Oracle Enterprise Linux" seçeneğini seçiyoruz.
3. 64 server ve client rpm ini indiriyoruz.

Bu kurulumda OEL üzerine şu an güncel olan MySQL 5.1.50 64 bit sürümünü kuruyoruz.
Download ettiğim dosyalar aşağıdaki gibidir.

MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm

* Yukarıdaki rpm dosyalarını, MySQL server kurmak istediğimiz sunucunun "tmp" klasörüne kopyalıyoruz.



* Bu aşamadan sonra sırasıyla server ve client rpm inin kurulumunu tamamlıyacağız.
Kurulum root user ı ile yapılmalıdır. Ayrıca linux işletim sisteminde küçük büyük harf ayrımı olduğu unutulmamalıdır.

Server kurulumu ile başlıyoruz.

[root@deneme tmp]# rpm -i MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm



Bu komut çalıştırıldığında bir dizi olay arka planda gerçekleşmiştir.

1. Linux üzerinde mysql kullanıcı hesabı ve mysql grup hesabı oluşturulur.
2. MySQL dosyaları RPM paketinden çıkartılarak uygun klasörlere kopyalanır.
3. MySQL yönetimsel database ilk kullanıma hazırlanır.
4. MySQL ile alakalı klasörlerin sahiplik durumu düzenlenir.
5. MySQL server başlatılır.
6 MySQL server , her Linux restart ında otomatik çalışacak şekilde konfigure edilir.


Server kurulumunun tamamlanmasının ardından client kurulumuna geçilebilir.

[root@deneme tmp]# rpm -i MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm


Bu noktada MySQL server kurulumu tamamlanmıştır.