MySQL Veritabanı

MySQL, T.c.X DataKonsultAB firmasi tarafindan üretilmis, performansi cok yüksek bir SQL veritabanidir. MySQL son zamanlarda hazirlanan veritabani destekli websitelerde üstün performansini ortaya koyarak, kücük ve büyük boyuttaki projeler icin yeterli oldugu ispatlamistir.

Bahsettigim performansi elde edebilmek icin, MySQL multithreaded calismaktadir. Multithreaded nedir? Multithreaded özelligi olan bir program icinde, programin cesitli bölümleri ayni anda paralel olarak calisabilir. Multithreading programin hizini ve performansini arttirir. Multithreaded özelligi, MySQL veritabanina ayni anda birden fazla kullanicinin baglanip, sorgulama (query) yapmasi imkani verir.

SQL (Strutured Query Language), SQL bazinda calisan veritabanlari (örnegin Oracle, MSSql) icin baglayici bir standarttir. Bir veritabani sisteminin "ben SQL standartina uygunum" diyebilmesi icin SQL Entry Level olarak bilinen SQL komut/direktif/fonksiyonlari kümesini tanimasi gerekmektedir. MySQL cok zengin bir SQL komut/direktif/fonksiyon kümesine sahiptir ve SQL standardina uyumludur. MySQL bir düzineye yakin veritipi ve cesitli SQL fonksiyonlari icermektedir. MySQL yaptigi eklemelerde SQL standartini genisletistir. ENCRYPT, WEEKDAY, IF, AUTO_INCREMENT, LAST_INSERTE_ID bunlardan bazilaridir.

MySQL icinde kasitli olarak, performans düsüsünü engellemk icin, SQL standartinin öngördügü bazi komut/direktif/fonksiyonlar kullanilmamistir. Bunlardan en önemlileri transaksiyonlar ve stored prosedürlerdir.

MySQL veritabani sisteminin bazi özelliklerini söyle siralayabiliriz:

Multithreaded. Ayni anda birden fazla kullanici baglanti yapabilir.
Her MySQL bilgibankasi 50.000.000 kayit (record = satir) icerebilir.
Cok hitli SQL komut sürümü.
Herhalde MySQL'i hizi ve performansi yaninda en aktaktif yapan özelligi bedava olmasidir. T.c.X firmasi herhangi bir ücret almadan MySQL veritabanini General Public Lisansi altinda kullanima sunmaktadir. Özel sahislar ve firmalar ücret ödemeden MySQL'i kullanabilirler.

Yazimin bundan sonraki bölümünde MySQL'in Linux sistemi üzerinde nasil kurulup, calistirildigini anlatacagim. MySQL'in Windows sürümü de bulunmaktadir. MySQL'in Linux/Windows/Mac sürümlerini MySQL adresinde bulabilirsiniz.

Öncelikle kullandiginiz Linux sürümüne bagli olarak gerekli MySQL sürümünü http://http://www.mysql.com adresinden tedarik etmeniz gerekiyor. Su anki aktüel sürümler mysql-3.21/22/23 dür. En yüksek numaraya sahip sürüm (23) genelde cesitli yeni fonsiyonlarin eklendigi ve henüz %100 test edilmemis bir sürümdür. Bu yüzden sondan bir önceki sürümü kullanmaniz, sisteminizde hata olusmasini önleyecektir. MySQL kod(source) ve derlenmis(binary) olarak dagitilmaktadir. Eger MySQL'i kod halinde indirirseniz, kodu bilgisayaraniz üzerinde C dili derleyicisi ile derlemeniz gerekmektedir. Eger derlenmis sürümü edindiyseniz, herhangi bir derleme yapmadan, MySQL'i calistirabilirsiniz.

Simdi kod olarak edindiginiz MySQL sürümünü Linux üzerinde nasil derliyecegimizi inceleyelim. Öncelikle paketi asagidaki komutla acin.

$ gunzip -c mysql-x.xx.xx.tar.gz | tar xvf -

mysql-x.xx.xx.tar.gz (örnegin mysql-3.22.21) download ettiginiz MySQL sürümüdür. Yukardaki islemin ardindan bilgisayariniz üzerinde mysql-x.xx.xx isminde bir dizin bulacaksiniz. Bu dizin icinde gecerek, derleme islemine baslayabilirsiniz.

$ cd mysql-x.xx.xx $./configure

Configure komutu gerekli islemleri yaptiktan sonra, make ve make install komutlariyla derleme islemini tamamlayin. make install komutu, make komutu ile derlenen MySQL komutlarini /usr/local/mysql dizinine kopyalar. MySQL'in calisabilmesi icin son olarak asagida yeralan komutlari calistirmaniz gerekiyor.

$ cd /usr/local/mysql
$ ./scripts/mysql_install_db

Son satirda yeralan komut, MySQL icin gerekli tabelalari hazirladiktan sonra, MySQL veritabani serverini calistirir. MySQL veritabani serverini ./bin/safe_mysqld & komutuyla da calistirabilirsiniz. safe_mysqld programi mysqld komutunu kullanarak, MySQL serverini calistirir. MySQL'e baglanti kurabilmeniz icin serverin (mysqld) aktif olmasi gerekmektedir.

Asagidaki komut, server hakkinda bilgi verir.

$./bin/mysqladmin version

mysqladmin Ver 7.11 Distrib 3.22.23b for Linux on i586 TcX Datakonsult AB, by Monty Server Version....

MySQL kurma islemini özetleyecek olursak:

$ gunzip -c mysql-x.xx.xx.tar.gz | tar xvf -
$ cd mysql-x.xx.xx
$ ./configure
$ make
$ make install
$ cd /usr/local/mysql
$ ./scripts/mysql_install_db
$ ./bin/safe_mysqld

Eger MySQL'in derlenmis sürümünü kurmak istiyorsaniz, asagidaki islemleri yapin.

$ gunzip -c /tmp/mysql-x.xx.xx.-pc-linux-gnu-i586.tgz | tar xvf -
$ cd mysql-x.xx.xx.-pc-linux-gnu-i586
$ ./scripts/mysql_install_db
$ ./bin/safe_mysqld -log &

Aşağıda yeralan komutlar ile ilk veritabaninizi yaratabilirsiniz.

$ mysqladmin create test
$ mysql test
mysql > create table deneme(isim char(10));
Query OK, 0 rows affected (0.03 sec)

mysql > insert into deneme values('Aergun');
insert into denem values('Aergun');

mysql > select * from deneme;
+--------+
| isim |
+--------+
| Aergun |
+--------+
1 row in set (0.00 sec)

Yazan: Ayhan Ergün
Kolay gelsin
Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.
Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.